点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

在前天的《事务管理入门》一文发布之后,有读者联系说根据文章尝试,加了@Transactional注解之后,事务并没有回滚。经过一顿沟通排查之后,找到了原因,在此记录一下,给后面如果碰到类似问题的童鞋一个参考。

问题原因

在前文的描述中,我漏了一个细节,其实在示例代码中,与之前拿的基础例子在配置中有一个关键属性没有提到,就是下面这个配置:

spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

这里的spring.jpa.database-platform配置主要用来设置hibernate使用的方言。这里特地采用了MySQL5InnoDBDialect,主要为了保障在使用Spring Data JPA时候,Hibernate自动创建表的时候使用InnoDB存储引擎,不然就会以默认存储引擎MyISAM来建表,而MyISAM存储引擎是没有事务的。

所以,如果你的事务没有生效,那么可以看看创建的表,是不是使用了MyISAM存储引擎,如果是的话,那就是这个原因了!

除此之外,对于事务没有生效的可能还很多,比如,在同一个类中定义又调用等。这里就不具体展开了,欢迎读者留言分享你碰到的事务失效的情况!

往期推荐

王者归来:分布式调度解决方案 ElasticJob 重启!

面试:说说啥是一致性哈希算法?

Spring Boot 2.x基础教程:事务管理入门

Java 语言中十大“坑爹”功能!

说实话,Intellij IDEA 自带的 Vim 插件真心不错!

关注下方公众号,回复“2020面试

免费获取2020年最新面试题

一起进大厂,每日学干货

关注它,不迷路

为什么加了@Transactional注解,事务没有回滚?相关推荐

  1. @Transactional注解事务不回滚不起作用无效

    @Transactional注解事务不回滚不起作用无效 以下内容均来自http://blog.csdn.net/u011410529/article/details/54287307 转载 这几天在项 ...

  2. spring@Transactional注解事务不回滚不起作用无效的问题处理

    这几天在项目里面发现我使用@Transactional注解事务之后,抛了异常居然不回滚.后来终于找到了原因. 如果你也出现了这种情况,可以从下面开始排查. 一.特性 先来了解一下@Transactio ...

  3. Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?

    写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑.与其说是坑,还不如说是自己事务这块儿太薄弱导致的(自嘲下). 项目环境 Spring Boot 下面开始问题描述,发生的过程有点长,想直接看 ...

  4. sqlsever回滚操作_sqlserver事务与回滚

    如果要在Production执行数据改动必须小心,可以使用事务提前验证一下自己写的SQL是不是你期望的.尤其是Update的where 条件有问题的话,跟新的记录就会超出预期的范围.如下面的语句,一着 ...

  5. 单元测试JunitTest加@Transactional事务自动回滚

    问题 在测试事务传播行为的时候,使用单位测试加了@Transactional,一开始是正常,后面出现了异常,即使没有报错的情况下,事务也会自动回滚 代码 @RunWith(SpringRunner.c ...

  6. SpringBoot 异常回滚 事务的使用___Springboot @Transactional 事务不回滚

    Springboot中事务的使用: 1.启动类加上@EnableTransactionManagement注解,开启事务支持(其实默认是开启的). 2.在使用事务的public(只有public支持事 ...

  7. 为什么catch了异常,但事务还是回滚了?

    前几天我发了这篇文章<我来出个题:这个事务会不会回滚?>(https://blog.didispace.com/will-this-transcation-rollback/) 得到了很多 ...

  8. java 自定义异常 未回滚_抛出自定义异常,spring AOP事务不回滚的解决方案

    spring AOP 默认对RuntimeException()异常或是其子类进行事务回滚,也就是说 事务回滚:throw new RuntimeException("xxxxxxxxxxx ...

  9. 每日一博 - 常见的Spring事务失效事务不回滚案例集锦

    文章目录 事务不生效 方法内部调用 修复方法一 : [新加一个Service方法] 修复方法二:[在该Service类中注入自己] 修复方法三:[通过AopContent类]<---- 推荐 访 ...

最新文章

  1. 使用Linux服务器搭建个人深度学习环境
  2. MySQL MGR与Galera性能测试
  3. redis linux无法启动服务,CentOS7 下redis不能开机启动,求解?
  4. eclipse中svn的各种状态图标详解
  5. web前端新手入门教程:Web 框架的架构模式探讨
  6. 消息中间件--RabbitMQ --- 消费端限流 -- 非常重要
  7. 第二轮冲次会议第三次
  8. vs2017创建外部css,webpack - 从生成的Microsoft SPA模板VS2017 webpack中删除特定供应商css - 堆栈内存溢出...
  9. java对象属性的作用域类型_java 对象和类
  10. Proxmark3 easy gui 5.13 版本 编译日期2019-4-17 冰人4月份最新固件
  11. JVM调优总结(转)
  12. 高并发大流量,大麦抢票的技术涅槃之路
  13. 数据库事务(Transaction)详解
  14. 宏源股指期货期权早评:暂未脱离震荡
  15. Hive窗口函数之preceding and following
  16. 计算机软件实习每日学习打卡(5)20201218
  17. 这个对老爸老妈有好处
  18. 怎样把普洱熟茶泡得更好喝?
  19. 银河移民PHP面试,移民香港,我真的“后悔死了”
  20. 现代微服务拆分与设计

热门文章

  1. python3 字符串替换 replace translate re.sub
  2. linux shell grep 搜索数据 赋值变量 没有换行符
  3. linux ip_conntrack 连接满导致网络丢包
  4. linux bashrc与profile的区别
  5. shell错误 sed: can't read : No such file or directory
  6. python3 遍历列表得到序号索引和值
  7. MFC ComboBox
  8. Java 中的关键字 final
  9. Linux内核的namespace机制分析
  10. 远程链接oracle 12514,数据库建好后,本地连接正常,远程连接ORA-12514错误