亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

事務不能回滾

不知道為什么不能回滾,我使用的時Mybatis+mysql。求大神看看!

(我使用編程式事務可以成功回滾,表引擎修也為InnoDB)

http://img1.sycdn.imooc.com//58209c770001472909970530.jpg


正在回答

3 回答

在service類前加上@Transactional,聲明這個service所有方法需要事務管理。每一個業務方法開始時都會打開一個事務。
Spring默認情況下會對運行期例外(RunTimeException)進行事務回滾。這個例外是unchecked
如果遇到checked意外就不回滾。
如何改變默認規則:
1?讓checked例外也回滾:在整個方法前加上?@Transactional(rollbackFor=Exception.class)
2?讓unchecked例外不回滾:?@Transactional(notRollbackFor=RunTimeException.class)
3?不需要事務管理的(只查詢的)方法:@Transactional(propagation=Propagation.NOT_SUPPORTED)

所以,將“rollbackFor=Exception.class”修改為“rollbackFor=RunTimeException.class”

0 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//5822cded000176a109440494.jpg你看一下你的配置文件對比一下

0 回復 有任何疑惑可以回復我~

好像沒有開啟事務注解

<tx:annotation-driven tansaction-manager="">

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

事務不能回滾

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號