Spring注解@transaction失效的几种场景

1、同一个类中的方法调用,导致事务注解失效(事务不回滚)

不受Spring Aop 管理

2、非public修饰符方法

Spring 事务拦截器会判定方法的修饰符是否为public,只有public的才可获取

3、数据引擎不支持事务

如使用的mysql 不是innodb引擎

4、异常被catch吃掉了

5、事务的传播属性类型设置为不需要回滚的

6、Rollback For设置错误

Spring 模糊抛出未检查异常 unchecked,或者error,才回滚事务

 

posted @ 2021-04-13 22:02  caofangzi915  阅读(566)  评论(0)    收藏  举报