Spring事务传播行为类型

Spring事务传播行为类型

A方法先调,B方法再调用

类型 说明 A有事务 A没有事务
PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。 使用A事务 B事务新建
PROPAGATION_SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行。 使用A事务 非事务执行
PROPAGATION_MANDATORY 使用当前的事务,如果当前没有事务,就抛出异常。 使用A事务 抛出异常
PROPAGATION_REQUIRES_NEW 新建事务,如果当前存在事务,把当前事务挂起。 A事务挂起 B事务新建
PROPAGATION_NOT_SUPPORTED 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 A事务挂起 非事务执行
PROPAGATION_NEVER 以非事务方式执行,如果当前存在事务,则抛出异常。 A事务挂起 抛出异常
PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。 B开启新事务但提交回滚以A事务为准 B事务新建

你可能感兴趣的:(数据库)