springboot 項目中使用@transactional注解不生效導致事務回滾失敗問題總結


在常規使用@transactional注解時,如果碰到不生效問題,要首先想到如下幾個問題:

  1. 如果是有關數據庫操作,首先要查看牽涉到的表使用的引擎是什么引擎,要知道使用"MYISAM"數據庫引擎是不支持事務回滾操作的,需要使用"InnoDB數據引擎".

  2. 查看方法是否是public方法,如果方法是private方法,也是不支持事務的.

  3. 如果事務回滾失敗還要查看出現的異常是checked異常還是unchecked異常.checked異常會回滾,unchecked異常也是不會執行回滾操作的,如果需要指定異常的回滾級別,可以使用@transactional(rollcbackFor="Exception.class")


免責聲明!

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



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