专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

mysql回滚数据,Spring事务在哪几种情况下会失效_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 14:49:22       共计:3582 浏览
mysql回滚数据,Spring事务在哪几种情况下会失效?

大概列举几种情况,仅供参考;

1. 直接new出来的对象添加事务不起作用,因为只有spring定义的bean才接受事务。

2.由于mysql的引擎用Myisam不支持事务,所以如果使用mysql的myisam引擎的话,事务不起作用。

3.如果@Transaction注解到非public方法上,事务不起作用,这是因为spring的Aop特性。 4.如果在当前类中进行内部调用方法,比如在A类中有a方法和b方法,a方法没有加@Transaction,b方法加了@Transaction,在方法a中调用方法b,方法b中的事务也不会生效。这是因为spring在扫描bean的时候会自动为标注了@Transaction注解类生成一个代理类,在有注解方法被调用时,实际上是代理类调用的,代理类在调用之前会开启事务,执行事务操作。但是同类中的方法相互调用,相当于this.b(),此时的b方法并非代理类调用,而是直接通过原有的bean直接调用,所以注解不起作用。

5.异常类型错误,如果抛出的runtimeException事务才会回滚。

6.如果异常被catch到,必须要抛出异常,事务才会回滚。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql空间数据,如何将图片储存在MySQL数据库里_数据库 | ·下一条:mysql 保存数据库,mysql是个硬盘吗_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有