Spring事务的七种传播行为
Spring事务有7种传播行为:
PROPAGATION_REQUIRED:Spring默认的类型,依赖型,事务之间互相依赖的,内层与外层共用一个事务(内层事务加入外层事务)
PROPAGATION_SUPPORTS:外层有事务,支持内层无事务
PROPAGATION_MANDATORY:强制传播,外层无事务,内层则报错
PROPAGATION_REQUIRES_NEW:创建新事务,外层有事务,内层会再创建一个事务,与外层事务无关联,内层事务之间也无关联
PROPAGATION_NOT_SUPPORTED:不支持传播,外层有事务时,内层不会加入外层的事务,会以无事务的方式执行
PROPAGATION_NEVER:强制无事务传播,外层有事务,内层则报错
PROPAGATION_NESTED:内嵌事务,外层事务回滚,内层也会回滚,而内层回滚不被外层事务所捕获的话,外层事务不会回滚
场景对比: