出现 Transaction rolled back because it has been marked as rollback-on

[复制链接]
发表于 2024-7-29 02:13:23 | 显示全部楼层 |阅读模式
1. 问题所示

用户反馈的Bug如下所示:
  1. Transaction rolled back because it has been marked as rollback-only
复制代码
截图如下:

欣赏器终端同样显示:

2. 原理分析

错误表明,在事务的生命周期内,碰到了某个非常或条件,导致该事务被标记为仅回滚
一旦事务被标记为仅回滚,它就不能被提交,并将在事务范围竣事时回滚
通用情况以及办理方式如下:
情况一:非常处理问题
事务管理过程中抛出未捕获的非常,事务将被主动标记为仅回滚,确保全部可能抛出的非常都得到了适当的处理
办理方案:


  • 确保利用 @Transactional 注解的方法中捕获并处理全部非常,或明白指定哪些非常会导致回滚
  • 利用 @Transactional(rollbackFor = Exception.class) 指定特定的非常范例应触发回滚

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表