Spring中七种事务传播行为
| Spring事务传播级别 | 外层有事务 | 外层无事务 |
| REQUIRED(默认) | 加入事务 | 创建事务 |
| REQUIRED_NEW | 挂起,创建子事务 | 创建事务 |
| SUPPORTS | 加入事务 | 非事务运行 |
| NOT_SUPPORTED | 挂起,非事务运行 | 非事务运行 |
| MANDATORY | 加入事务 | 抛出异常 |
| NESTED | 嵌套事务 | 创建事务 |
| NEVER | 抛出异常 | 非事务运行 |
事务的分类
| 事务 | 父事务回滚 | 子事务回滚 |
| 挂起事务 | 子事务不影响 | 父事务回滚 |
| 嵌套事务 | 子事务回滚 | 父事务不影响 |
| 普通事务 | 子事务回滚 | 父事务回滚 |
| 无事务 | 直接执行SQL,不会回滚 | |
注意
被事务管理的方法抛出异常,才会使得事务回滚,没有被事务管理的方法抛出异常被try-catch捕获,外层的事务是不会回滚的
本文详细介绍了Spring框架中七种事务传播行为,包括REQUIRED、REQUIRED_NEW、SUPPORTS等,并解释了它们在不同场景下的使用和事务管理规则。了解这些行为有助于正确配置事务边界,确保业务逻辑的原子性。
1010

被折叠的 条评论
为什么被折叠?



