以Spring 4.3为例,事物的传播性主要分为七种:
MANDATORY:
支持当前事务,如果不存在则抛出异常。
NESTED:
如果当前事务存在,则在嵌套事务中执行,其行为类似于PROPAGATION_REQUIRED
NEVER:
非事务执行,如果事务存在,则抛出异常。
NOT_SUPPORTED:
非事务执行,挂起当前事务(如果存在事物)。
REQUIRED:
支持当前事务,如果没有存在则创建一个新事务。
REQUIRES_NEW:
创建一个新事务,并暂停当前事务(如果存在)。
SUPPORTS:
支持当前事务,如果不存在则非事务性地执行。
可以在 org.springframework.transaction.annotation.Propagation 来查看