@transactional注解propagation
时间: 2023-11-09 12:07:05 浏览: 82
spring的@Transactional注解用法解读
@注解中的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 ]
阅读全文