spring PROPAGATION

时间:2023-12-22 13:43:14

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.

默认设置,后面的不懂

PROPAGATION_SUPPORTS

Support a current transaction; execute non-transactionally if none exists. 
支持当前事务;如果不存在当前事务则执行非事务。

PROPAGATION_NOT_SUPPORTED

Do not support a current transaction; rather always execute non-transactionally.
不执行当前事务;而是总是执行非事务

PROPAGATION_REQUIRES_NEW

Create a new transaction, suspending the current transaction if one exists. 
创建一个新的事务,如果存在当前事务的话暂停(挂起)当前事务 。

PROPAGATION_NESTED

Execute within a nested transaction if a current transaction exists 
如果当前存在事务的话,执行一个嵌套的事务

PROPAGATION_NEVER

Do not support a current transaction; throw an exception if a current transaction exists. 
不支持当前事务;如果存在当前事务则抛出一个异常

PROPAGATION_MANDATORY

Support a current transaction; throw an exception if no current transaction exists.  
支持当前事务;如果不存在当前事务则抛出一个异常