CodeWalk

@Transactional事务失效的常见场景

作者:我是大山 · 2026-05-30 12:55

列举@Transactional事务注解失效的常见场景。

回答

我是大山

  1. 非public方法
  2. 自调用(this.methodB()不走代理)
  3. 异常类型不匹配(默认只回滚RuntimeException)
  4. try-catch吞掉异常
  5. 数据库不支持事务(MyISAM)
  6. @Transactional加在接口上(CGLIB忽略)
  7. 多数据源未正确配置