Spring中事务传播行为种类
Spring中事务传播行为种类
Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,Spring中事务传播行为是Spring框架提供的一种事务管理方式,它不是数据库提供的。它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:
| 事务的传播行为 | 说明 |
|---|---|
| PROPAGATION_REQUIRED | 如果当前存在事务,则加入该事务,如果当前不存在事务,则创建一个新的事务。 |
| PROPAGATION_SUPPORTS | 如果当前存在事务,则加入该事务;如果当前不存在事务,则以非事务的方式继续运行。 |
| PROPAGATION_MANDATORY | 如果当前存在事务,则加入该事务;如果当前不存在事务,则抛出异常。 |
| PROPAGATION_REQUIRES_NEW | 重新创建一个新的事务,如果当前存在事务,延缓当前的事务。 |
| PROPAGATION_NOT_SUPPORTED | 以非事务的方式运行,如果当前存在事务,暂停当前的事务。 |
| PROPAGATION_NEVER | 以非事务的方式运行,如果当前存在事务,则抛出异常。 |
| ROPAGATION_NESTED | 如果没有,就新建一个事务;如果有,就在当前事务中嵌套其他事务。 |

浙公网安备 33010602011771号