所谓事务的传播行为是指,如果在开始当前事务之前,一个事务上下文已经存在,这时有七个属性可以指定该事务的执行行为。
1.PROPAGATION_REQUIRED:如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。这是默认值
2.PROPAGATION_SUPPORTS:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式继续运行。3.PROPAGATION_MANDATORY[ˈmændətəri]:如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。
4.PROPAGATION_NESTED[nestɪd]:如果当前存在事务,则创建一个事务作为当前事务的嵌套事务来运行;如果当前没有事务,则该取值等价于PROPAGATION_REQUIRED。
5.PROPAGATION_REQUIRES_NEW:创建一个新的事务,如果当前存在事务,则把当前事务挂起。
6.PROPAGATION_NOT_SUPPORTED:以非事务方式运行,如果当前存在事务,则把当前事务挂起。
7.PROPAGATION_NEVER:以非事务方式运行,如果当前存在事务,则抛出异常。
个人觉得如上顺序更方便记忆。
参考博客:http://blog.csdn.net/bao19901210/article/details/41724355