springboot 项目中使用@transactional注解不生效导致事务回滚失败问题总结


在常规使用@transactional注解时,如果碰到不生效问题,要首先想到如下几个问题:

  1. 如果是有关数据库操作,首先要查看牵涉到的表使用的引擎是什么引擎,要知道使用"MYISAM"数据库引擎是不支持事务回滚操作的,需要使用"InnoDB数据引擎".

  2. 查看方法是否是public方法,如果方法是private方法,也是不支持事务的.

  3. 如果事务回滚失败还要查看出现的异常是checked异常还是unchecked异常.checked异常会回滚,unchecked异常也是不会执行回滚操作的,如果需要指定异常的回滚级别,可以使用@transactional(rollcbackFor="Exception.class")


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM