在 Spring 事务管理中,定义了 7 种事务传播行为,用于控制多个事务方法嵌套调用时事务如何传播与交互。具体如下:
🔄 1. 支持当前事务的传播行为
PROPAGATION_REQUIRED(默认)
- 行为:
- 当前存在事务:加入该事务。
- 当前无事务:新建一个事务。
- 特点:嵌套方法共用同一事务,任一方法异常导致整体回滚。
- 适用场景:多数业务方法(如订单创建需同时更新库存和日志)。
PROPAGATION_SUPPORTS
- 行为:
- 当前存在事务:加入该事务。
- 当前无事务:以非事务方式执行。
- 特点:不强制事务,跟随调用方。
- 适用场景:查询方法(可兼容事务或非事务环境)。
PR