其他分享
首页 > 其他分享> > spring事物不回滚的问题

spring事物不回滚的问题

作者:互联网

学习spring分布式事务的时候,自己整了个demo,写test测试的时候发先事物没有回滚。此问题和分布式事务没关系。
1.在service层引入@Transaction注解

使用 throw new RuntimeException("cao zuo shi bai !!!"); 或者 throw e; 时数据正常回滚
直接抛出一个新的异常时,数据正常插入到db中。
后来db调试时比较两者的区别,正如测试结果一样。

在判断的时候直接进了else方法。

查证资料后得知,Spring的AOP事务管理默认是针对unchecked exception回滚。只需要引入@Transaction的时候指明rollbackFor=Exception.class
直接抛出checked exception数据也可以正常回滚

标签:exception,Transaction,spring,事物,db,回滚,不回,throw
来源: https://www.cnblogs.com/gavinYang/p/11198053.html