@Transactional 失效场景

发布时间 2023-09-01 17:17:56作者: 木糖醇困了

@Transactional 失效场景

1.方法不是public修饰的。

2.同一个类里面,不同方法的相互调用必须都带上@Transactional注解,否则会失效。

3.默认是针对runtimeException异常进行回滚,如果需要对其他异常回滚需要使用rollbackFor属性指定异常类型。

4.异常被你的 catch“吃了”导致@Transactional失效。(一般不要catch异常,如果非要catch,那么catch里一定要抛出throw new RuntimeException(),或者注解设置可回滚所有异常@Transactional(rollbackFor=Exception.class))