1. 程式人生 > >springboot 項目中使用@transactional註解不生效導致事務回滾失敗問題總結

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

出現 數據庫引擎 問題 exceptio class pub 不支持 數據庫操作 數據庫

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

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

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

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

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