@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的,并且是作为最外层的方法。
原文地址:https://www.cnblogs.com/yanfei1819/p/9838033.html