轉載自: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
??? 我很納悶,為什么之前沒有這樣的問題呢?后來,想了想,會不會與我的開發(fā)環(huán)境有關呢。之前使用的MySql版本是5.0,現在換成了5.5,會不會與這有關呢。
??? 后來,網上查找一番,發(fā)現是因為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
.
Hibernate和Mysql5.5創(chuàng)建表出錯——type=InnDB/schema export unsuccessful
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
