标签:rollbackFor,场景,Transactional,catch,失效,异常 From: https://www.cnblogs.com/lfh-blog/p/17672447.html@Transactional 失效场景
1.方法不是public修饰的。
2.同一个类里面,不同方法的相互调用必须都带上@Transactional注解,否则会失效。
3.默认是针对runtimeException异常进行回滚,如果需要对其他异常回滚需要使用rollbackFor属性指定异常类型。
4.异常被你的 catch“吃了”导致@Transactional失效。(一般不要catch异常,如果非要catch,那么catch里一定要抛出throw new RuntimeException(),或者注解设置可回滚所有异常@Transactional(rollbackFor=Exception.class))