java - 从事务方法开始新事务
问题描述
目前我有一个控制器,它调用@Transactional
服务 A 中的注释方法,将实体插入数据库,然后调用服务 B 中的另一个方法来更新实体。
我只想调用服务 A 中的方法,然后再调用服务 B 中的方法。第一个事务应该发生在服务 A 的方法中,另一个事务应该发生在服务 B 的方法中.
我试图理解@Transactional
注释,它isolation
和propagation
为了实现这一点,但我无法让它发挥作用。
解决方案
如果要将服务 B 中的事务与服务 A 中的事务分开,则必须使用Propagation.REQUIRES_NEW
.
使用以下标记您的服务 B 方法:
@Transaction(propagation = Propagation.REQUIRES_NEW)
推荐阅读
- mysql - 如何查看单列数据
- vue.js - 在 Vue JS 组件中动态添加和删除 div
- python - 我无法理解 python 是关键字它不一致吗?
- docker - 如何将带有 --config 选项的 docker run 应用于 docker compose
- javascript - 即使数据为空,也会输入 if(!data) 块
- autodesk-forge - Forge API:无法从我的 BIM360 团队获取所有项目
- php - 在产品页面的 WooCommerce 过滤器中添加属性名称作为类
- r - R中的重新编码变量返回无效
- react-native - React-Native:使用 diffClamp 和多个滑块时,滑块旋钮跳到随机位置
- ios - Swift · Dismissing Modal ViewController 并在之后重新加载 tableview