SpringBoot事務@Transactional失效的常見問題之一


SpringBoot事務 | 未生效 | 無效 | 不生效 | 不回滾 | 不起作用
如果你使用了 @Transactional 和 @EnableTransactionManagement 沒有生效,那么你看看在事務注解包含的方法內是否使用try-catch了。默認事務回滾對於try-catch的代碼不會生效,如果必須try-catch又要事務生效,則需要在catch塊內手動回滾。但是不推薦這么寫,推薦Service層將異常往上拋,Controller層去捕獲處理。

關於手動回滾,你可以看這里

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//進行手動回滾

//設置回滾點
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
....
//回滾到savePoint
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);

 

當然我遇到的只是事務不生效的原因之一,可能並不適用你所遇到的情況,僅作為備忘使用,如果能恰巧幫到你那就呱唧一下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM