Hibernate4和Mysql5.1以上版本创建表出错 type=InnDB

    在搭建springmvc框架时,底层使用hibernate4.1.8,数据库使用mysql5.1,使用hibernate自动生成数据库表时,hibernate方言使用org.hibernate.dialect.MySQLInnoDBDialect,自动生成表时会出现

 

2012-11-28 08:07:35,210 [org.hibernate.tool.hbm2ddl.SchemaUpdate]-[ERROR] HHH000388: Unsuccessful: create table Test (id
 integer not null, createDate datetime not null, name varchar(255) not null, remark varchar(255), primary key (id)) type
=InnoDB
2012-11-28 08:07:35,210 [org.hibernate.tool.hbm2ddl.SchemaUpdate]-[ERROR] You have an error in your SQL syntax; check th
e manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 7

 

 后来,网上查找一番,发现是因为type=InnoDB在5.0以前是可以使用的,但5.1之后就不行了。如果我们把type=InnoDB改为engine=InnoDB就不会有这个问题。但是,我想使用Hibernate,自动帮我建表,怎么办呢。这就与我们指定的数据库方言(dialect)有关了。

 


之前我的配置是:

hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
 

现在改为:

hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
自动生成数据库表时一切正常。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值