具体示例
在如上代码中 假设有 十条 数据要进行删除.
前面五条删除没有问题,当第六条数据出错的时候。
结果: 六到十的数据没有删除掉,但是一到五 数据被删掉了.
原因: spring 默认只会针对RuntimeException 异常进行回滚,其他的异常并不会回滚.
解决方案
加上回滚的异常类型即可
总结
spring 事务 通过注解配置,可以配置到类上面,也可以配置到方法上,建议配置在方法上.
spring 事务默认的回滚 异常时 runtimeexception, 可以通过配置指定哪些异常回滚,哪些异常不回滚.