2016-08-10 105 views
0

使用Hibernate,有沒有辦法找出這是否是所有表創建的第一次運行?是否有Hibernate API來檢查數據庫是否被創建?

此代碼後,有API(也許在SessionFactory)來獲取狀態:

sessionFactory = new Configuration().configure(new File("hibernate.cfq.xml")).buildSessionFactory(); 

對於我的使用情況下,這將是不夠的,如果我知道一個表已創建。
所以我可以做其他的初始任務,例如將初始數據寫入數據庫。

編輯:這是我使用hibernate.hbm2ddl

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

您使用的是哪個hibernate.hbm2ddl? – davidxxx

回答

1

下休眠特性可以幫助你:

hibernate.hbm2ddl.import_files

該屬性指定一個將在啓動時運行的SQL腳本,您可以輕鬆查詢元數據並根據您需要的任何業務邏輯進行分支。

值得注意的是,指定的腳本是在架構工具運行後執行的,所以如果您使用的是update,則會執行基於實體模型的任何更改,或者如果您使用的是createcreate-drop