@Transactional中的propagation
时间: 2023-10-28 13:58:18 浏览: 117
@Transactional中的propagation属性是用来定义事务的传播特性。它指定了被调用方法和调用方法之间的事务关系。在Spring事务管理中,propagation属性可以设置为多种值,包括REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER和NESTED等。每个值代表不同的事务传播特性。
例如,在一个类中的方法A上添加了@Transactional(propagation=propagation.REQUIRED)注解,而在方法A中调用了另一个类B的方法bMethod。如果B的方法bMethod也添加了@Transactional(propagation=propagation.REQUIRED)注解,则B的方法bMethod将加入到A的事务中,即它们共享同一个事务。这就是事务的传播特性。
另外,propagation属性还可以设置为其他值,比如REQUIRES_NEW,表示每次调用都会启动一个新的事务,与调用者的事务没有关联。还有SUPPORTS,表示如果有事务存在,则加入到该事务中,如果没有事务存在,则以非事务方式执行。而NOT_SUPPORTED表示以非事务方式执行方法,即不需要事务管理。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关问题
@transactional中propagation
@Transactional中的propagation指事务的传播行为,即在一个方法调用另一个方法时,如何处理事务。propagation有以下几种取值:
- REQUIRED:默认值,如果当前没有事务,则新建一个事务;如果当前已经存在事务,则加入该事务。
- SUPPORTS:如果当前有事务,则加入该事务;如果当前没有事务,则以非事务的方式执行。
- MANDATORY:如果当前有事务,则加入该事务;如果当前没有事务,则抛出异常。
- REQUIRES_NEW:新建一个事务,如果当前存在事务,则挂起当前事务。
- NOT_SUPPORTED:以非事务的方式执行操作,如果当前存在事务,则挂起当前事务。
- NEVER:以非事务的方式执行操作,如果当前存在事务,则抛出异常。
- NESTED:如果当前存在事务,则在嵌套事务内执行;如果当前没有事务,则新建一个事务。
propagation的取值决定了事务的传播行为,可以根据实际情况选择合适的取值。
@transactional注解propagation
@注解中的Propagation属性定义了事务的传播行为。它决定了在一个方法调用另一个被@Transaction注解的方法时,事务是如何被传播的。常见的Propagation属性值有以下几种:
1. REQUIRED:默认值。如果当前没有事务存在,则创建一个新的事务并在其中执行方法,如果有事务存在,则加入该事务并在其中执行方法。
2. REQUIRES_NEW:每次都创建一个新的事务,并在其中执行方法,如果当前有事务存在,则将其挂起。
3. SUPPORTS:如果当前有事务存在,则加入该事务并在其中执行方法,如果当前没有事务存在,则以非事务的方式执行方法。
4. MANDATORY:必须在一个事务中执行方法,如果当前没有事务存在,则抛出异常。
5. NOT_SUPPORTED:以非事务的方式执行方法,如果当前有事务存在,则将其挂起。
根据不同的Propagation属性,@Transactional注解可以控制事务的传播行为,从而实现不同的事务管理策略。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [@Transactional中的propagation属性](https://blog.csdn.net/windflybird/article/details/101775113)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文
相关推荐
















