- 在方法中捕获异常没有抛去
- 非事务方法调用事务方法
- 事务方法内部调用事务方法
- @Transactional标记的方法不是public
- 抛出的异常与rollbackFor指定的异常不匹配,默认rollbackFor指定的异常为RuntimeException
- 数据库表不支持事务. 如Mysql的MyISAM存储引擎
- Spring的传播行为导致事务失效, 如 propagation_never, propagation_not_supported
- propagation_required: 支持当前事务,如果当前没有事务,就新建一个(常用)
- propagation_supports:支持当前事务,如果当前没有事务,就以非事务方式执行
- propagation_mandatory:支持当前事务,如果当前没有事务,就抛出异常
- propagation_requires_new:新建事务,如果当前存在事务,把当前事务挂起
- propagation_not_supported:以非事务方式 执行操作,如果当前存在事务,就把当前事挂起
- propatation_nerver:以非事务方式执行,如果当前存在事务,则抛出异常
- propagation_nested:如果当前存在事务,则在嵌套事务内执行, 如果当前没有事务,则与propagation_required类似的保管
什么情况Spring事务会失效
最新推荐文章于 2023-04-29 06:23:50 发布