您的位置:首页 > 编程语言 > Java开发

Spring事务处理异常回滚问题

2016-11-18 17:07 351 查看
问题如下:

项目中使用了Spring + Mybatis,

使用

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = FrameworkException.class)


对方法进行注解来使用事务,FrameworkException是自己封装的继承Exception的异常。

在运行过程中发现,sql语句出现异常会回滚,但是根据spring事务的原理,sql抛出来的异常不符合FrameworkException,应该不回滚。

然后试了
@Transactional
也会回滚,然后经过研究发现Mybatis中将所有的sql异常进行了封装,抛出来的全都是RuntimeException,所以会发生回滚。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息