spring 3 API中的7种事务传播特性:
(1)PROPAGATION_REQUIRED
Support a current transaction; create a new one if none exists.
支持一个当前事务;如果不存在,创建一个新的。
This is typically the default setting of a transaction definition, and typically defines a transaction synchronization scope.
(2)PROPAGATION_SUPPORTS
Support a current transaction; execute non-transactionally if none exists.
支持当前事务;如果不存在当前事务则执行非事务。
(3)PROPAGATION_NOT_SUPPORTED
Do not support a current transaction; rather always execute non-transactionally.
不执行当前事务;而是总是执行非事务
(4)PROPAGATION_REQUIRES_NEW
Create a new transaction, suspending the current transaction if one exists.
创建一个新的事务,如果存在当前事务的话暂停(挂起)当前事务 。
(5)PROPAGATION_NESTED
Execute within a nested transaction if a current transaction exists
如果当前存在事务的话,执行一个嵌套的事务
(6)PROPAGATION_NEVER
Do not support a current transaction; throw an exception if a current transaction exists.
不支持当前事务;如果存在当前事务则抛出一个异常
(7)PROPAGATION_MANDATORY
Support a current transaction; throw an exception if no current transaction exists.
支持当前事务;如果不存在当前事务则抛出一个异常