我們在搭建環境的時候,在配置文件中有一個屬性標簽為:
<property name="hibernate.hbm2ddl.auto"> </property>
這個屬性標簽中有四個參數可以寫,這四個參數是對數據庫中插入的進行不同的操作,分別為:
(1)create-drop
(2)create
(3)update
(4)validate
下面分別來介紹他們的作用以及對數據庫中的影響
(1)<property name="hibernate.hbm2ddl.auto"> create-drop </property>
create-drop:表示在hebarinate初始化時創建表格,程序運行結束的時候會刪除相應的表格,在實際項目中不用
(2)<property name="hibernate.hbm2ddl.auto">create</property>
在hibernate初始化時會創建表格,在運行結束之後不刪除表格,而是在下一次運行的時候如果有舊的刪掉,沒有舊的,重新建表格
(3)<property name="hibernate.hbm2ddl.auto">update</property>
只是根據映射文件去和數據庫中的表對應起來,如果不一致,就更新表的結構
(4)<property name="hibernate.hbm2ddl.auto">validate</property>
校驗映射文件和數據庫中的表是不是能對應起來,不能對應報錯,實際中常用
注:在使用的時候必須要慎重,我就是在當時學習的時候所設置的屬性是validate,所以只要改了數據庫名就會拋初始化異常,當時我郁悶了半天都不知道是怎麼回事,沒有往這方面想,後來才知到balidate是在沒有數據庫名的時候不讓你創建,會拋異常的。