Hibernate和MySQL5.5創建表出錯--'type=InnoDB'/schema export unsucessful

   今天把以前做的一個項目遷移到自己的機器上,項目使用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代碼:

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

   現在改爲:就是多了個5

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

好了,這樣問題就解決了。

原文地址:
http://jasonhan-sh-hotmail-com.iteye.com/blog/1473955

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章