当前位置: 首页 > 面试题库 >

TYPE上的MySQL 5.5.9和Hibernate表创建错误

赵星华
2023-03-14
问题内容

在尝试使用Hibernate +
Spring重新创建数据库时,生成的SQL会追加"type=InnoDB"到每个创建语句的末尾。这似乎导致我的MySQL5.5.9设置出现问题。它产生以下错误:

您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第1行的’type = InnoDB’附近使用正确的语法

如果我手动删除type = InnoBD并在MySQL中粘贴create命令,则它可以正常工作。

还有其他人遇到此错误吗?是否可能只是我需要更改的MySQL设置?我正在使用my-innodb- heavy-4G.cnf模板作为我的模板/etc/my.cnf

我也知道该type语法已被MySQL弃用,engine应该使用(如果我手动更改create语句,它也会这样做)。有什么办法可以在Hibernate中配置它吗?

谢谢


问题答案:

使用MySQL5InnoDBDialect代替MySQLInnoDBDialect



 类似资料:
  • org.h2.jdbc.jdbcsqlsyntaxerrorexception:SQL语句“create TABLE HIBERNATE_SEQUENCE(NEXT_VAL BIGINT)engine=[*]myisam”中存在语法错误;应为“标识符”

  • 我编写了一个映射,如下所示: 当我运行应用程序时,会出现如下错误: 2012-05-15 17:12:38,651--WARN--失败的模式语句:创建表雇员(Id整数不为空auto_increment,版本日期时间不为空,FirstName nvarchar(300),LastName nvarchar(300),雇员类型nvarchar(300),主键(Id),唯一(firstName,last

  • 我刚开始使用hibernate,总是会遇到这样的错误: 错误:HHH000388:不成功:创建表用户(id bigint not null auto_increment,mail varchar(255),passwort varchar(255),primary key(id))错误:从存储引擎获取错误-1 这是我的映射类:

  • 用户 角色 Application.Properties

  • 运行时收到此错误。

  • 试图用hibernate创建表,但它已经创建并删除了。 hibernate.cfg.xml: