我们在使用spring自带的事务时,会发现明明加了注解却毫无作用。
@Transactional(rollbackFor = Exception.class) // 加上rollbackFor属性就是为了当抛出所有异常时,皆回滚。
对于注解加入的方法也是有讲究的。
第一,带注解的方法一定要是public方法,其他方法皆不行。
第二,带注解的方法被同class不带注解的方法调用时,注解不会生效。
第三,不带注解的方法调用其他class带注解的方法时,其他注解的方法分开生效,意思就是调两个不同的方法时,该两个方法分为两个事务。
第四,带注解的方法,调用其他任何方法(不管是否带有注解),所有操作归一个事务管理。
来源:oschina
链接:https://my.oschina.net/u/3759677/blog/4467404