gpt4 book ai didi

java - Spring Data 多事务控制

转载 作者:行者123 更新时间:2023-11-30 05:55:58 25 4
gpt4 key购买 nike

问题是关于在 crudrepository、jparepository ext 中使用多个事务。在我的项目中,有两个实体。 RequestEntitySendingMailEntity。我的方法中的工作流程:

1)保存RequestEntity

2) 发送informationService(这是我们购买的休息服务,我们无法控制它的任何异常。)

3) 保存SendingMailEntity

当 2 号或 3 号出现异常时,由于 spring jpa 控制的回滚,我们丢失了 requestEntity

requestEntity 的记录永远不会丢失。

我该如何控制这个问题?如何在 Spring Data 中拥有两个独立的事务?

感谢您的帮助。

最佳答案

您需要在服务中创建一个专门用于管理/保存 requestEntity 的方法,并对其进行适当的注释,以便暂停当前事务,并且此代码在新事务中运行并在退出时提交从方法:

@Transactional(propagation = Propagation.REQUIRES_NEW)
public void processRequestEntity(...){
// jpa repo actions
}

关于java - Spring Data 多事务控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53188757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com