欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB

程序员文章站 2024-02-20 14:25:58
在搭建springmvc框架时,底层使用hibernate4.1.8,数据库使用mysql5.1,使用hibernate自动生成数据库表时,hibernate方言使用org...

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

复制代码 代码如下:
[13-04-13 19:11:37.190] {resin-60} you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'type=innodb' at line 8

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

只需要修改配置:

hibernate.dialect=org.hibernate.dialect.mysqlinnodbdialect

修改为:

hibernate.dialect=org.hibernate.dialect.mysql5innodbdialect

总结一下,在mysql5.1及以上版本,使用 mysql5innodbdialect

以上就是解决hibernate4在mysql5.1自动创建表出错的方法,希望能给大家一个参考,了解更多mysql语法,大家可以关注《mysql 5.1参考手册》,也希望大家多多支持。