`
wx1569567608
  • 浏览: 60341 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

18.1.从零开始学springboot-配置jpa自动建表为innodb

 
阅读更多

前言

接上章,springboot-jpa-atomikos多数据源分布式事务(https://www.jianshu.com/p/3f7bbbd9fb35) 细心的同学肯定发现了,我们至今为止的案例基本上所有的配置都只有application.yml一个文件,为何上章多了一个hibernate.properties文件,此文件是干啥的? 能否统一到application.yml中去。

原因

先说明下博主的环境

springboot2.1.3 release
mysql 5.7

好吧,博主解释下,关于hibernate.properties这个配置文件,是为了解决JPA自动生成表引擎为myisam的,熟悉mysql的都知道,myisam引擎并不支持事务,只有innodb引擎才支持事务的处理。为了解决JPA自动生成的表为myisam引擎,博主整整花了半个下午,是的,整个互联网充斥着复制粘贴的过时解决方案。

形如这样的 让你在application.properties中 加上

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

或者加上

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57InnoDBDialect

当然还有其它乱七八糟的解决方案,博主不一一罗列了,博主为了解决jpa自动生成的表为myisam的问题,逐一试了个遍,结果根本解决不了问题,最后在官方文档里发现,原来,在新版的springboot里,形如MySQLInnoDBDialect已经被弃用了,像博主使用的是当前最新版的2.1.3 release使用这种方式显然是做无用功。

解决方案

新增 hibernate.properties

hibernate.dialect.storage_engine=innodb

解决问题

总结

还是官方文档靠谱。

请关注我的订阅号

image

转载于:https://my.oschina.net/u/3066875/blog/3055191

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics