在尝试使用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: