Hibernate 生成的 DDL 中存在无效语法错误“type=MyISAM”
问题:
使用 Hibernate 创建表时,遇到“MySQLSyntaxErrorException”,并显示消息“您的 SQL 语法有错误;请检查与您的 MariaDB 服务器版本相对应的手册,以获取在 'type = MyISAM' 附近使用的正确语法”第 1 行。"
原因:
已弃用的“TYPE=MYISAM”片段是由配置的 Hibernate 方言在 DDL 语句中生成的。 MySQL 5.5 及更高版本或 MariaDB 不支持此片段。
解决方案:
要解决此问题,您需要配置与以下内容一致的适当 Hibernate 方言您的数据库服务器版本。
对于 MariaDB,根据您的版本和 Hibernate 版本,使用以下方言之一:
对于 MySQL,或者如果您的 Hibernate 版本中没有 MariaDB 方言,使用以下方言之一(或变体):
注:
使用 Hibernate 6,您可以恢复使用 MySQLDialect 或 MariaDBDialect,因为这些方言将根据连接的数据库版本自动配置自身。
以上是使用 Hibernate 创建表时,为什么我会收到'MySQLSyntaxErrorException”,并显示消息'您的 SQL 语法有错误...”?的详细内容。更多信息请关注PHP中文网其他相关文章!