@Transactional 事务失效记录
生活随笔
收集整理的這篇文章主要介紹了
@Transactional 事务失效记录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼調用結構:
@Transactional public ReturnBo saveBase(BaseBo bo){ServiceA.dbMethodA();ServiceB.dbMethodB();ServiceC.dbMethodC(); }異常現象:
在saveBase方法中,如果 ServiceB.dbMethodB()方法實現中出現了異常,ServiceA.dbMethodA()的數據庫操作并不會回滾。
解決辦法:
ServiceA.dbMethodA();ServiceB.dbMethodB();ServiceC.dbMethodC(); 方法實現上均加上@Transactional
異常原因:
@Transactional注釋在saveBase()方法上,執行dbMethodA()方法時,該方法無注解,默認新開啟一個事務;執行dbMethodB()方法時,該方法無注解,也默認新開啟一個事務,那么兩個事務是隔離的。一同加上注解,將其加入同一個事務中即可。
引用一句話總結:
被Spring的AOP增強的類,在同一個類的內部方法調用時,其被調用方法上的增強通知將不起作用。引用一個文章:
@Transactional 無效的解決方案
總結
以上是生活随笔為你收集整理的@Transactional 事务失效记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux tail命令_操作手册
- 下一篇: eclipse项目导入idea部署到to