mysql5.5对应的hibernate_Hibernate和Mysql5.5创建表出错——type=InnDB
今天把以前做的一個項目遷移到自己的機器上,項目使用SSH。
第一次運行程序時,將Hibernte中的hibernate.hbm2ddl.auto設(shè)置成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
我很納悶,為什么之前沒有這樣的問題呢?后來,想了想,會不會與我的開發(fā)環(huán)境有關(guān)呢。之前使用的MySql版本是5.0,現(xiàn)在換成了5.5,會不會與這有關(guān)呢。
后來,網(wǎng)上查找一番,發(fā)現(xiàn)是因為type=InnoDB在5.0以前是可以使用的,但5.1之后就不行了。如果我們把type=InnoDB改為engine=InnoDB就不會有這個問題。但是,我想使用Hibernate,自動幫我建表,怎么辦呢。這就與我們指定的數(shù)據(jù)庫方言(dialect)有關(guān)了。
之前我的配置是:
org.hibernate.dialect.MySQLInnoDBDialect
現(xiàn)在改為:
org.hibernate.dialect.MySQL5InnoDBDialect
好了,這樣問題就解決了。總結(jié)下:
Using 'MySQL5InnoDBDialect' works with 5.1 and 5.5.
分享到:
2012-06-11 10:50
瀏覽 947
評論
總結(jié)
以上是生活随笔為你收集整理的mysql5.5对应的hibernate_Hibernate和Mysql5.5创建表出错——type=InnDB的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用jdbc操作mysql数据库_jav
- 下一篇: mysql查询2020年之前_2020年