(1)propagation_required:如果外层已存在一个事务则加入其中,如果没有事务,则开启一个新的事务。
PROPAGATION_REQUIRED
method A{
........
PROPAGATION_REQUIRED
methodB();
.........
}
(2)propagation_supports:如果外层已经存在一个事务则加入其中,如果不存在,则以非事务方式运行。
(3)propagation_mandatory:如果外层存在事务加入其中,如果不存在,则抛出异常。
(4)propagation_requires_new :无论外层事务是否已经存在,总是开启一个新的事务,如果事务已经存在则将这个存在的事务挂起。
(5)propagation_not_support:总是以非事务方式执行,挂起任何存在的事务。
(6)propagation_never:总是以非实物方式执行,如果存在事务,则抛出异常。
(7)propagation_nested:如果外层事务存在则运行在一个嵌套事务中,如果外层事务不存在,则按照propagation_required执行。