1.PROPAGATION_REQUIRED 如果存在一个事务、则支持当前事务。如果没有事务则开启。
2.PROPAGATION_SUPPORTS 如果存在一个事务、则支持当前事务。如果没有事务则非事务执行。
3.PROPAGATION_MANDATORY 如果已经存在一个事务、则支持当前事务。如果没有活动事务则抛出异常。
4.PROPAGATION_REQUIRES_NEW 总是开启一个新的事务、如果已经存在一个事务、则将这个事务挂起。
5.PROPAGATION_NOT_SUPPORTED 总是非事务执行、并挂起任何存在的事务。
6.PROPAGATION_NEVER 总是非事务执行、如果存在一个活动事务则抛出异常。
7.PROPAGATION_NESTED 如何存在一个活动事务、则运行在嵌套事务中。如果没有活动事务则按REQUIRED方式执行。
----------------------------------------------
事务属性 t1 t2
----------------------------------------------
REQUIRED 无 t2
t1 t1
----------------------------------------------
REQUIRES_NEW 无 t2
t1 t2
----------------------------------------------
SUPPORTS 无 无
t1 t1
----------------------------------------------
MANDATORY 无 异常
t1 t1
----------------------------------------------
NOT_SUPPORTED 无 无
t1 无
----------------------------------------------
NEVER 无 无
t1 异常
----------------------------------------------