专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

告警:MyBatis-Plus中慎用@Transactional注解,坑的差点被开了...

macrozheng  · 公众号  ·  · 2024-07-11 14:10
    

文章预览

mall学习教程官网: macrozheng.com 昨天测试说有个 xx 功能用不了,扔给我一个截图,说有报错: 报错信息就是: Transaction rolled back because it has been marked as rollback-only ,很好理解:事务被回滚了,因为它已经被标记了只能回滚。 我一看巧了,这不就是我之前分析过的面试题吗! 之前的文章我解释过:这种错一般发生在嵌套事务中,即内层事务出错,但是由于是否提交事务的操作由外层事务触发,于是乎内层事务只能做个标记,来设置当前事务只能回滚。 紧接着它想抛出错误,但是由于被 try catch 了,于是乎正常执行后续的逻辑,等执行到最后,外层要提交事务了,发现当前事务已经被打了回滚的标记,所以提交失败,报了上面的错。 这或许是一个对你有用的开源项目 ,mall项目是一套基于 SpringBoot3 + JDK 17 + Vue 实现的电商系统( Github标星60K ),采 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览