专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 数据库

Hibernate跟Mysql5.5创建表出错——type=InnDB

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
Hibernate和Mysql5.5创建表出错——type=InnDB

今天把以前做的一个项目迁移到自己的机器上,项目使用SSH。

第一次运行程序时,将Hibernte中的hibernate.hbm2ddl.auto设置成create,让Hibernate帮助自动建表,但不成功,报了如下信息:

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 1

我很纳闷,为什么之前没有这样的问题呢?后来,想了想,会不会与我的开发环境有关呢。之前使用的MySql版本是5.0,现在换成了5.5,会不会与这有关呢。

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

之前我的配置是:

<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>

现在改为:

<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>

 

好了,这样问题就解决了。总结下:

 

Using 'MySQL5InnoDBDialect' works with 5.1 and 5.5.
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: