首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“事务方法”可以在不挂起的情况下调用另一个“事务方法”吗?

问“事务方法”可以在不挂起的情况下调用另一个“事务方法”吗?
EN

Stack Overflow用户
提问于 2021-12-22 08:55:29
回答 2查看 439关注 0票数 0

我在不同的班级里有方法A和方法B。这两种方法都用@Transactional进行注释。方法A是调用B,在不同的事务中是否有调用B的解决方案,但不暂停A事务?B上的Propagation.REQUIRES_NEW提供了在调用时总是创建新事务但挂起调用方事务的可能性

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-22 09:17:01

据我所知,您不能用注释REQUIRED_NEW来完成它。

但是spring还支持使用TransactionTemplate、TransactionDefinition进行手动事务处理。

我们只需使用一个PlatformTransactionManager就可以使用多个定义。

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/support/TransactionTemplate.html

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/TransactionDefinition.html

https://www.baeldung.com/spring-programmatic-transaction-management#4-custom-transaction-configurations

票数 1
EN

Stack Overflow用户

发布于 2021-12-23 02:58:51

事务传播行为Propagation.NESTED支持该需求。

请阅读春季正式文档:巢式

PROPAGATION_NESTED使用具有多个保存点的单个物理事务,可以回滚回滚。这种部分回滚允许内部事务作用域触发对其作用域的回滚,外部事务能够继续物理事务,尽管一些操作已经回滚。

关于Spring事务中嵌套传播的其他详细信息,也可以在这个回答中阅读。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70446441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档