如果在原来代码基础上save方法加一个事务注解,我知道是删除和插入都回滚。但是如果在save方法加事务注解,然后在userService1.delete()外面套一个try catch,这样会怎么样啊?
在CSDN上看到的有关事务传播性的疑问
如果在原来代码基础上save方法加一个事务注解,我知道是删除和插入都回滚。但是如果在save方法加事务注解,然后在userService1.delete()外面套一个try catch,这样会怎么样啊?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a1767028198 2021-11-21 16:02关注
很遗憾,默认场景下还是都会回滚,delete方法执行完抛出异常,会将一个回滚标记写入到connectHolder,在一个事务中,复用同一个connectHolder,当你执行到save方法时,虽然整个方法执行完没有抛出异常,也会顺利走到事务管理器的commit方法,但是这里还是会引导到回滚的api中,不过你可以自己构造事务管理器,覆盖shouldCommitOnGlobalRollbackOnly方法,让他不走回滚
解决 无用评论 打赏 举报
悬赏问题
- ¥15 umi接入sentry遇到问题
- ¥15 HBuilderX打包H5网页,扫码模块无法使用
- ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
- ¥15 echarts绘制图表
- ¥15 请教两个关于高德地图定位不准的技术问题
- ¥15 根据企业名称 对照两个文件 样本筛选/匹配
- ¥15 Linux环境下CA证书更新问题
- ¥15 sqlserver语句提取结果以外数据
- ¥60 微信小程序如何上传QQ聊天文件
- ¥300 开发的系统遭到无良商家的破解,请问如何防止再次发生,并追回损失