程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> hibernate自動建表配置解析

hibernate自動建表配置解析

編輯:關於JAVA

在配置文件中,有下面的配置:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="hibernateProperties">

   <props>

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

       <prop key="hibernate.show_sql">true</prop>

       <prop key="hibernate.cglib.use_reflection_optimizer">false</prop>

       <prop key="hibernate.hbm2ddl.auto">update</prop>

       <prop key="hibernate.jdbc.fetch_size">50</prop>

       <prop key="hibernate.jdbc.batch_size">20</prop>

   </props>

</property>

</bean>

hibernate.hbm2ddl.auto參數的作用主要用於:自動創建|更新|驗證數據庫表結構。如果不是此方面的需求建議set value="none"。

create:

每次加載hibernate時都會刪除上一次的生成的表,然後根據你的model類再重新來生成新表,哪怕兩次沒有任何改變也要這樣執行,這就是導致數據庫表數據丟失的一個重要原因。

create-drop :

每次加載hibernate時根據model類生成表,但是sessionFactory一關閉,表就自動刪除。

update:

最常用的屬性,第一次加載hibernate時根據model類會自動建立起表的結構(前提是先建立好數據庫),以後加載hibernate時根據 model類自動更新表結構,即使表結構改變了但表中的行仍然存在不會刪除以前的行。要注意的是當部署到服務器後,表結構是不會被馬上建立起來的,是要等應用第一次運行起來後才會。

validate :

每次加載hibernate時,驗證創建數據庫表結構,只會和數據庫中的表進行比較,不會創建新表,但是會插入新值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved