TJ-*_*TJ- 5 java spring hibernate transactions
在我的应用程序中,有多个步骤,通过多种方法顺序进行数据库的许多提交.例:
A -> B -> C
-> D
->E
-> F
-> G
Run Code Online (Sandbox Code Playgroud)
A呼叫B,呼叫C.然后B呼叫D.D呼叫E,依此类推.所有这些方法都有一些数据库操作.据我所知PROPAGATION_REQUIRED(声明式事务管理 - 弹簧推荐方式),如果E成功完成,则事务(以及E中的操作将被提交).现在,由于一些例外,F应该导致回滚.我希望 从A所做的一切开始回滚.这可以通过声明式事务管理吗?或者我应该使用程序化事务管理?
谢谢.
首先,不支持"嵌套"事务,即存在多个相互依赖的运行事务的事务.
然后,propagation=REQUIRED意味着具有该传播的所有方法将:
这意味着在您的方案中,失败F会回滚整个事务(因为它是单个事务,由其启动A并传播到其他方法)
| 归档时间: |
|
| 查看次数: |
5583 次 |
| 最近记录: |