@Transactional注解事务不起作用
@Transactional注解事务不起作用
问题:今天在项目中碰到一个事务问题,使用@Transactional注解事务,抛出异常不会滚。
解决一:https://blog.csdn.net/u011410529/article/details/54287307
解决二:以上方案没有能解决我的问题的。
- 检查:检查是不是同一个类中的方法调用(如a方法调用同一个类中的b方法)。
- 原因:如果调用了一个类的方法a(),a()内部又调用了同类的方法b(), b()方法加了@Transactional。我们会发现@Transactional不起作用,异常抛出,事务不会回滚: x() --> T.a() --> T.b()
- 解决方案:所有涉及到事务的代码都移到Service类中,加上@Component/@Service标记,并申明为public,涉及到@Transactional的方法,都应该是public的,并且是作为最外层的方法。
本文来自博客园,作者:追梦1819,转载请注明原文链接:https://www.cnblogs.com/yanfei1819/p/9838033.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步