Propagation.SUPPORTS
时间: 2023-11-09 15:06:55 浏览: 93
Propagation.SUPPORTS是Spring事务传播行为的一种类型。在Spring中,事务传播行为定义了一个方法在调用另一个方法时如何处理事务。具体来说,Propagation.SUPPORTS表示如果当前存在事务,则支持当前事务;如果当前没有事务,则以非事务方式执行。\[1\]
在Spring的事务管理中,对于Propagation.SUPPORTS的处理是在HibernateTransactionManager的getTransaction()方法中实现的。这个方法是HibernateTransactionManager的父类AbstractPlatformTransactionManager中的方法。\[1\]
对于@Transaction(propagation=Propagation.REQUIRE)时,Session的新建和获取也是在AbstractPlatformTransactionManager的getTransaction()方法中完成的。\[2\]
需要注意的是,根据引用\[3\]的描述,当使用Propagation.SUPPORTS时,并没有真正开启数据库事务,也没有获取JDBC Connection或生成Hibernate Session。这意味着在这种传播行为下,方法的执行不会受到事务的影响。
#### 引用[.reference_title]
- *1* *2* *3* [[原理][源代码解析]spring中@Transactional,Propagation.SUPPORTS,以及 Hibernate Session,以及jdbc ...](https://blog.csdn.net/fei33423/article/details/32346821)[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^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文