你的位置:首页 > 软件开发 > Java > Mysql引起的spring事务失效

Mysql引起的spring事务失效

发布时间:2015-08-18 20:00:04
老项目加新功能,导致出现service调用service的情况..一共2张表有数据的添加删除.然后测试了一下事务,表A和表B,我在表B中抛了异常,但结果发现,表B回滚正常,但是表A并没有回滚.显示事务失效.比较巧的是表A和表B是在不同的service中,所以最开始想到的是多ser ...

老项目加新功能,导致出现service调用service的情况..一共2张表有数据的添加删除.然后测试了一下事务,表A和表B,我在表B中抛了异常,但结果发现,表B回滚正常,但是表A并没有回滚.显示事务失效.

比较巧的是表A和表B是在不同的service中,所以最开始想到的是多service导致的,但是查看了事务的定义后发现,事务的传播被设置成required,所以按理说所有service会处在一个事务中.经过痛苦的各种折腾各种尝试未果后,无意中发现每次都是表A事务无法回滚,这就有点奇怪了,这明显就是操作表A的事务失效了.其实这里我已经非常接近真正的原因了,只不过我依然认为可能是自己的错误配置导致操作表A的service事务失效,又是一阵折腾,实在看不出来有什么错误的地方,有点无奈.

没有什么思路,只好百度一下都有什么原因能导致事务失败,看了一堆帖子,无意中看到一个情况,mysql引擎导致的事务失效,瞬间一下都明白了..

找到表A的定义语句末尾能看到如下:

ENGINE=MyISAM AUTO_INCREMENT=40 DEFAULT CHARSET=gbk

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Mysql引起的spring事务失效

关键词:MYSQL

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录