Hibernate無法創建表的原因分析

確認使用:<prop key="hibernate.hbm2ddl.auto">create</prop>

配置tomcat的bin目錄

CATALINA_HOME   D:\apache-tomcat-6.0.40

Path路徑加上   ;%CATALINA_HOME%\bin   


如果還不顯示錶:控制面板-》管理-》服務-》找到mysql,重新啓動(我的問題所在)


另外附其他錯誤原因(來源百度文庫)


Hibernate連接Mysql無法自動創建表多種原因分析(Hibernate3.6) 

1.錯誤原因:hbm文件中定義的元素含有sql的關鍵字,例如: <property name="name"></property>    <property name="birthday"></property>    <property name="from"></property>   代碼中含有"from"關鍵字. 


2.錯誤原因:配置文件中使用了create-drop屬性,數據庫表其實已經創建,只是又被刪除了: 

<property name="hbm2ddl.auto">create-drop</property>   只要把create-drop替換爲create即可 


 3.錯誤原因:默認的數據庫類型錯誤。  

把mysql中my.ini文件中配置的 MyISAM 變成 INNODB,代碼如下: 
# The default storage engine that will be used when create new tables when    

default-storage-engine=INNODB 


4.錯誤原因;hbm文件中未寫錯,但是在myeclipse中開發的  
myeclipse不能自動識別如下語句,需要在Configuration中手動重新配置一下即可運行; 

<property name="hbm2ddl.auto">update</property> 


5.如果在spring裏面集成hibernate3,例如配置代碼如下:<property name="hibernateProperties">    <value> 
    hibernate.dialect=org.hibernate.dialect.MySQLDialect//注意這些地方沒有空格 
    hibernate.hbm2ddl.auto=update//注意這些地方沒有空格     hibernate.show_sql=false//注意這些地方沒有空格     hibernate.format_sql=false//注意這些地方沒有空格    </value>   </property> 
注意每行結尾沒有空格,不然也會造成不能自動建表的後果
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章