一个事务方法调用另一个事务方法
时间: 2023-08-23 16:05:16 浏览: 146
一个事务方法调用另一个事务方法时,根据Spring的事务传播行为,具体的行为取决于所使用的传播行为类型。在Spring中,有七种事务传播行为,其中第七种(PROPAGATION_NESTED)是一个特殊变量。如果当前方法有事务,则在嵌套事务内执行;如果当前方法没有事务,则与required操作类似。\[1\]
这意味着,当一个事务方法调用另一个事务方法时,如果两个方法都使用了嵌套事务传播行为,那么内部方法将在一个独立的嵌套事务中执行。如果外部方法已经存在一个事务,内部方法将在该事务的嵌套事务中执行。如果外部方法没有事务,内部方法将创建一个新的嵌套事务。\[2\]
需要注意的是,如果内部方法使用了其他的事务传播行为类型,如required或requires_new,那么内部方法的事务行为将根据其自身的传播行为类型来确定,而不受外部方法的影响。\[2\]
总之,当一个事务方法调用另一个事务方法时,具体的事务行为取决于所使用的传播行为类型,可以是嵌套事务,也可以是其他类型的事务。\[1\]\[2\]
#### 引用[.reference_title]
- *1* *2* *3* [Spring事务嵌套机制](https://blog.csdn.net/sun82111/article/details/95334611)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文