Transactional註解不回滾

1. 檢查你方法是否是public的。mysql

2. 你的異常類型是否是unchecked異常。
若是我想check異常也想回滾怎麼辦,註解上面寫明異常類型便可。spring

@Transactional(rollbackFor=Exception.class)

相似的還有norollbackFor,自定義不回滾的異常。sql

3. 數據庫引擎要支持事務,若是是mysql,注意表要使用支持事務的引擎,好比innodb,若是是myisam,事務是不起做用的。數據庫

4. 是否開啓了對註解的解析(SpringBoot使用@EnableTransactionManagement註解)code

<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>

5. spring是否掃描到你這個包,以下是掃描到org.test下面的包(SpringBoot使用@SpringBootApplication註解)component

<context:component-scan base-package="org.test" ></context:component-scan>
相關文章
相關標籤/搜索