spring事物回滚遇到的问题
生活随笔
收集整理的這篇文章主要介紹了
spring事物回滚遇到的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在service層使用聲明式事務添加@Transactional(rollbackFor = Exception.class)注解
多個方法進行數據庫操作,執行失敗則隱式的回滾事務,但是已經成功的發方法不會回滾,
想要,所有方法都回滾,需要手動try-catch,進行手動回滾(spring aop??異常捕獲原理:被攔截的方法需顯式拋出異常,并不能經任何處理,這樣aop代理才能捕獲到方法的異常,才能進行回滾,默認情況下aop只捕獲runtimeexception的異常)
try {a.save();b.save();} catch (Exception e) {//方式一:aop捕獲RuntimeException異常回滾throw new RuntimeException();//方式二: TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();}?
轉載于:https://www.cnblogs.com/soul-wonder/p/9799041.html
總結
以上是生活随笔為你收集整理的spring事物回滚遇到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在VS2012中安装使用cppcheck
- 下一篇: RxJava尝试取代Handler初探