qq_43542300 2021-11-21 13:42 采纳率: 0%
浏览 10

在CSDN上看到的有关事务传播性的疑问

img


如果在原来代码基础上save方法加一个事务注解,我知道是删除和插入都回滚。但是如果在save方法加事务注解,然后在userService1.delete()外面套一个try catch,这样会怎么样啊?

  • 写回答

1条回答 默认 最新

  • a1767028198 2021-11-21 16:02
    关注

    很遗憾,默认场景下还是都会回滚,delete方法执行完抛出异常,会将一个回滚标记写入到connectHolder,在一个事务中,复用同一个connectHolder,当你执行到save方法时,虽然整个方法执行完没有抛出异常,也会顺利走到事务管理器的commit方法,但是这里还是会引导到回滚的api中,不过你可以自己构造事务管理器,覆盖shouldCommitOnGlobalRollbackOnly方法,让他不走回滚

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 11月21日

悬赏问题

  • ¥15 umi接入sentry遇到问题
  • ¥15 HBuilderX打包H5网页,扫码模块无法使用
  • ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
  • ¥15 echarts绘制图表
  • ¥15 请教两个关于高德地图定位不准的技术问题
  • ¥15 根据企业名称 对照两个文件 样本筛选/匹配
  • ¥15 Linux环境下CA证书更新问题
  • ¥15 sqlserver语句提取结果以外数据
  • ¥60 微信小程序如何上传QQ聊天文件
  • ¥300 开发的系统遭到无良商家的破解,请问如何防止再次发生,并追回损失