项目开发时遇到的@transactional不生效问题整理

没开启@EnableTransactionManagement注解

springboot事务@transactional不生效解决
解决方法:在启动类上添加@EnableTransactionManagement注解

多数据源没有指定事务数据源

很多项目都是多数据源项目。配置多数据源后,事务注解上没有选中数据源。
这也是我遇到的问题。
springboot事务@transactional不生效解决
springboot事务@transactional不生效解决
在事务注解上加上数据源。

异常不满足回滚要求

springboot默认检测RuntimeException和Error进行回滚,如果产生的异常不是这两类及其子类,springboot不会进行回滚。
解决办法:手动加上异常条件rollbackFor = {BizException.class,Error.class,RuntimeException.class}
其中 BizException extends Exception

Mysql数据库的引擎不支持

springboot事务@transactional不生效解决
默认InnoDB支持事务。
解决办法:手动修改为InnoDB,或者在建表时选定InnoDB为默认引擎。

相关文章:

  • 2021-09-08
  • 2021-10-01
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
  • 2022-01-01
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-03
  • 2021-12-27
  • 2021-12-28
  • 2022-12-23
  • 2021-08-10
相关资源
相似解决方案