Spring中的事务传播行为用于定义一个事务如何在多个方法调用之间传播。
以下是Spring中的事务传播行为:
-
REQUIRED:默认传播行为,如果当前没有事务,就新建一个事务;如果当前已经存在一个事务中,就加入到该事务中。
-
SUPPORTS:如果当前已经存在一个事务中,就加入到该事务中,否则就以非事务的方式执行。
-
MANDATORY:必须存在一个事务,如果当前不存在事务,则抛出异常。
-
REQUIRES_NEW:如果当前已经存在一个事务,则挂起该事务并开启一个新的事务,直到该新事务完成后,再恢复原先的事务。
-
NOT_SUPPORTED:以非事务的方式执行操作,如果当前存在事务,则将该事务挂起。
-
NEVER:以非事务的方式执行,如果当前存在事务,则抛出异常。
-
NESTED:如果当前存在事务,则在该事务中开启一个嵌套事务,嵌套事务可以独立提交或回滚;如果当前没有事务,则开启一个新事务。
需要注意的是,这些传播行为仅适用于Spring的声明式事务,对于编程式事务,可以使用TransactionTemplate中的传播行为进行管理。
版权声明:本文为qq_35368296原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。