Hibernate之SchemaExport的使用

weixin_30588675發表於2020-04-05

@Test

public void testCreateDB(){

Configuration cfg = new Configuration().configure();

SchemaExport se = new SchemaExport(cfg);

//第一個引數 是否生成ddl指令碼  第二個引數  是否執行到資料庫中

se.create(true, true);

}

發現執行結果是先刪除原來的表然後根據對映關係建立了新的表

所以,和hibernate.cfg.xml中的<property name="hbm2ddl.auto">create</property>功能相同

 

PS:

  hbm2ddl.auto屬性是指資料庫更新方式:

  1. create:每次執行,都先把原有的資料表刪除,然後建立表
  2. create-drop:每次載入hibernate時根據model類生成表,但是sessionFactory一顯式關閉,表就自動刪除。
  3. validate:啟動時驗證現有schema與你配置的hibernate是否一致,如果不一致就丟擲異常,並不做更新
  4. update:如果表不存在則建立,有就不用建立

轉載於:https://www.cnblogs.com/wyb628/p/6407981.html

相關文章