从零开始学springboot-配置jpa自动建表为innodb
2019-03-28 15:47
645 查看
前言
接上章,springboot-jpa-atomikos多数据源分布式事务
细心的同学肯定发现了,我们至今为止的案例基本上所有的配置都只有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
解决问题
总结
还是官方文档靠谱。
请关注我的订阅号
相关文章推荐
- SpringBoot--AxonFramework自动配置
- Spring boot项目maven的profile多环境配置不自动替换变量的问题解决
- spring-boot集成mybatis问题1:IntellijIdea中j解决自动生成代码xml配置文件中出现“uri is not registered”问题
- Spring Boot自动配置原理
- 55. spring boot 服务配置和部署【从零开始学Spring Boot】
- SpringBoot 自动配置
- 74. Spring Data JPA方法定义规范【从零开始学Spring Boot】
- 51. spring boot属性文件之多环境配置【从零开始学Spring Boot】
- Spring Boot 下配置SpringDataJpa
- spring boot 使用@ConfigurationPropertiesu将配置自动封装成实体类
- 初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置
- 《Spring Boot 实战:从0到1》第3章 Spring Boot自动配置原理
- springBoot + springJPA 自动建表
- SpringBoot Beans管理和自动配置 火推 02
- springboot自动配置的核心原理
- SpringBoot学习_SpringMVC自动配置原理
- springboot自动配置原理
- 面试问题spring boot自动配置是怎么实现的
- (11)Spring Boot配置ContextPath【从零开始学Spring Boot】
- Spring boot 项目 maven的profile多环境配置 不自动替换变量的问题解决