首先建立一個springboot 工程, 編寫一個實體類spring
@Data @Entity public class Employee { @Id private Integer id; private String name; private Long salary; public Employee() { } public Employee(Integer id) { this.id = id; } }
數據庫生成了對應的employee表, 經過show create命令查看創表語句數據庫
默認引擎爲MyISAMspringboot
經過配置文件, 添加以下配置ide
spring: jpa: database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
經過查看MySQL5InnoDBDialect源代碼發現起繼承了MySQL5Dialect類並重寫了getDefaultMySQLStorageEngine()方法this
@Override protected MySQLStorageEngine getDefaultMySQLStorageEngine() { return InnoDBStorageEngine.INSTANCE; }
該方法了一個InnoDBStorageEngine的實例, 從名字上就能看出端倪.spa
可是
MySQL5InnoDBDialect這個類已通過時了, 從該類的源代碼註釋中能夠看到這麼一句註釋hibernate
Use "hibernate.dialect.storage_engine=innodb" environment variable or JVM system property instead.
可是我設置了以後卻並無生效, 有成功的朋友能夠告訴我一下方法!code