Spring中事务的传播机制
Spring中一共定义了7中事务传播机制,规定了事务方法及事务方法嵌套调用时的事务传播方式。
propagation_required(默认) |
如果当前没有事务,就新建一个事务,如果存在事务,则加入到当前事 务中。 |
propagation_requires_new | 如果当前存在事务,则挂起当前事务,新建一个事务。 |
propagation_supports | 如果当前存在事务,则加入事务,如果不存在,则以非事务方式执行。 |
propagation_not_supported | 如果当前存在事务,则挂起当前事务,以非事务方式执行。 |
progatation_mandatory | 如果当前不存在事务,则抛出异常。 |
propagation_never | 如果当前存在事务,则抛出异常,以非事务方式执行。 |
propagation_nested |
嵌套事务,基于数据库savepoint实现的嵌套事务,当前事务能够控制 子事务,即当前事务提交或回滚,子事务也会提交或回滚,但子事务出 错时,可以回滚到savepoint,而当前事务继续执行。 |