@Transactional 异常不回滚
Posted zwgblogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Transactional 异常不回滚相关的知识,希望对你有一定的参考价值。
一个方法加上@Transactional(rollbackFor=Exception.class)不生效 查找结果如下: 1.@Transactional是基于AOP动态代理做的,所以方法必须是public;其他的修饰符不生效。 2.Spring事务控制器在catch里面做了判断只有RuntimeException或者错误信息的时候才会回滚,故不是RuntimeException的异常不会回滚。
由于加上异常处理,导致没有生效,如果想要生效,手动添加RuntimeException异常。
参考链接 https://blog.csdn.net/lgq2626/article/details/79402583 https://blog.csdn.net/paul342/article/details/52330609?utm_source=blogxgwz7
以上是关于@Transactional 异常不回滚的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot设置 @Transactional ,并在异常处理中调用setRollbackOnly()事务不回滚
Spring Boot @Transactional 不回滚的解决办法