有时候,我们直接在直接写的没有事务业务操作方法里面调用本类里面的开启了事务的方法,也就是加了@Transaction注解的方法,其实这样子会
导致事务失效的,从原理的角度来说,在Spring初始化的时候,已经给每个方法都做了代理,也就是如果你加了@Transaction则会开启事务代理
但是如果你是在方法里调用本对象的方法,那么肯定不是走代理,直接走自身的方法了,类似如下是不会导致回滚的。
解决办法如下,可以在第一个方法里面加上事务或者把第二个方法移动到别的事务类都可以。
">
有时候,我们直接在直接写的没有事务业务操作方法里面调用本类里面的开启了事务的方法,也就是加了@Transaction注解的方法,其实这样子会
导致事务失效的,从原理的角度来说,在Spring初始化的时候,已经给每个方法都做了代理,也就是如果你加了@Transaction则会开启事务代理
但是如果你是在方法里调用本对象的方法,那么肯定不是走代理,直接走自身的方法了,类似如下是不会导致回滚的。
解决办法如下,可以在第一个方法里面加上事务或者把第二个方法移动到别的事务类都可以。