如何配置Hibernate 5以强制Mysql使用Innodb引擎创建表?

时间:2017-10-14 16:14:52

标签: java mysql hibernate innodb dialect

花了几个小时来解决这个问题,终于放弃了。 我需要我的应用程序来创建Innodb表,但默认情况下它们是在Myisam引擎中创建的。 我试图设置属性,

<property name="hibernate.dialect.storage_engine">innodb</property>但它无效。

org.hibernate.dialect.MySQL57InnoDBDialect - 已弃用

发现有org.hibernate.dialect.InnoDBStorageEngine课程 但由于

,我无法在hibernate.cfg.xml中将其设置为property name="hibernate.dialect"
  

org.hibernate.dialect.InnoDBStorageEngine'不能分配给'org.hibernate.dialect.Dialect

原因。你知道我在哪里可以设置InnoDBStorageEngine吗? 或者是否有另一种方法可以在创建表时强制Hibernate使用innodb? 提前致谢

1 个答案:

答案 0 :(得分:1)

Hibernate 5.2 documentaton建议在弃用说明

中做什么
  

MySQL57InnoDBDialect - 已弃用

     

请改用“hibernate.dialect.storage_engine = innodb”环境变量或JVM系统属性。

因此请将org.hibernate.dialect.MySQL57Dialect与此属性集结合使用。