Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB
程序员文章站
2023-12-22 09:45:34
在搭建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参考手册》,也希望大家多多支持。