Hibernate 生成的 DDL 中出现无效语法错误“type=MyISAM”
“您的 SQL 语法有错误;请检查与您的 MariaDB 服务器版本相对应的手册,以获取在第 1 行附近的“type = MyISAM”使用的正确语法”Hibernate 生成的 DDL 中的错误通常是由于使用了已弃用的“type”属性而发生的。下面给出分析和解决方案:
Ursache
SQL中的“type”属性用于指定表的存储引擎。在 MySQL 4.x 及更早版本中,通常使用“type=MyISAM”。但是,此属性在 MySQL 4.0 中已弃用,并在 5.5 中删除。
Lösung
要解决此问题,您需要在 Hibernate 配置中使用正确的方言。根据您的 MariaDB 和 Hibernate 版本,您需要使用以下方言之一:
MariaDB:
MySQL:
Beispiel
在 Hibernate 配置文件中,您可以指定正确的方言,如下所示:
<property name="hibernate.dialect">org.hibernate.dialect.MariaDBDialect</property>
Hinweis
使用 Hibernate 6,您应该使用 MySQLDialect 或 MariaDBDialect,因为这些方言将根据连接的数据库版本自动配置自身。
以上是为什么我在 Hibernate DDL 中遇到'type=MyISAM”语法错误?的详细内容。更多信息请关注PHP中文网其他相关文章!