为什么加了Transactional注解事务没有回滚

53次阅读

共计 586 个字符,预计需要花费 2 分钟才能阅读完成。

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

问题起因

在前文的形容中,我漏了一个细节,其实在示例代码中,与之前拿的根底例子在配置中有一个要害属性没有提到,就是上面这个配置:

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

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

所以,如果你的事务没有失效,那么能够看看创立的表,是不是应用了 MyISAM 存储引擎,如果是的话,那就是这个起因了!

本文首发:为什么加了 @Transactional 注解,事务没有回滚?,转载请注明出处。
欢送关注我的公众号:程序猿 DD,取得独家整顿的学习资源和日常干货推送。
如果您对我的其余专题内容感兴趣,中转我的集体博客:didispace.com。

正文完
 0