課程
/后端開(kāi)發(fā)
/Java
/Spring事務(wù)管理
不知道為什么不能回滾,我使用的時(shí)Mybatis+mysql。求大神看看!
(我使用編程式事務(wù)可以成功回滾,表引擎修也為InnoDB)
2016-11-07
源自:Spring事務(wù)管理 6-3
正在回答
在service類前加上@Transactional,聲明這個(gè)service所有方法需要事務(wù)管理。每一個(gè)業(yè)務(wù)方法開(kāi)始時(shí)都會(huì)打開(kāi)一個(gè)事務(wù)。 Spring默認(rèn)情況下會(huì)對(duì)運(yùn)行期例外(RunTimeException)進(jìn)行事務(wù)回滾。這個(gè)例外是unchecked 如果遇到checked意外就不回滾。 如何改變默認(rèn)規(guī)則: 1?讓checked例外也回滾:在整個(gè)方法前加上?@Transactional(rollbackFor=Exception.class) 2?讓unchecked例外不回滾:?@Transactional(notRollbackFor=RunTimeException.class) 3?不需要事務(wù)管理的(只查詢的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)
所以,將“rollbackFor=Exception.class”修改為“rollbackFor=RunTimeException.class”
你看一下你的配置文件對(duì)比一下
好像沒(méi)有開(kāi)啟事務(wù)注解
<tx:annotation-driven tansaction-manager="">
舉報(bào)
事務(wù)管理是Spring重要的知識(shí),應(yīng)用事務(wù)解決數(shù)據(jù)不一致問(wèn)題
1 回答accountMoney6沒(méi)事務(wù),transMethod6有事務(wù),會(huì)回滾嗎
1 回答accountMoney7、transMethod7都有事務(wù),會(huì)回滾嗎
2 回答transactionTemplate編程式事務(wù)管理例子在我這里執(zhí)行怎么不回滾?
2 回答事務(wù)里能否查詢到更改?
3 回答為什么事務(wù)不起作用?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-07-27
在service類前加上@Transactional,聲明這個(gè)service所有方法需要事務(wù)管理。每一個(gè)業(yè)務(wù)方法開(kāi)始時(shí)都會(huì)打開(kāi)一個(gè)事務(wù)。
Spring默認(rèn)情況下會(huì)對(duì)運(yùn)行期例外(RunTimeException)進(jìn)行事務(wù)回滾。這個(gè)例外是unchecked
如果遇到checked意外就不回滾。
如何改變默認(rèn)規(guī)則:
1?讓checked例外也回滾:在整個(gè)方法前加上?@Transactional(rollbackFor=Exception.class)
2?讓unchecked例外不回滾:?@Transactional(notRollbackFor=RunTimeException.class)
3?不需要事務(wù)管理的(只查詢的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)
所以,將“rollbackFor=Exception.class”修改為“rollbackFor=RunTimeException.class”
2016-11-09
2016-11-09
好像沒(méi)有開(kāi)啟事務(wù)注解
<tx:annotation-driven tansaction-manager="">