`
反求诸己
  • 浏览: 534398 次
  • 性别: Icon_minigender_1
  • 来自: 湖南娄底
社区版块
存档分类
最新评论

Hibernate和Mysql5.5创建表出错——type=InnDB/schema export unsuccessful

 
阅读更多

转载自:http://jasonhan-sh-hotmail-com.iteye.com/blog/1473955

今天把以前做的一个项目迁移到自己的机器上,项目使用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)有关了。

    之前我的配置是:

Xml代码  收藏代码
  1. < prop   key = "hibernate.dialect" > org.hibernate.dialect.MySQLInnoDBDialect </ prop >   

   现在改为:

Xml代码  收藏代码
  1. < prop   key = "hibernate.dialect" > org.hibernate.dialect.MySQL5InnoDBDialect </ prop >   

 

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

 

Txt代码  收藏代码

Using  'MySQL5InnoDBDialect'  works with  5.1  and  5.5 .

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics