2010-08-07 144 views
2

也如here所述,我試圖確定初始化和更新我的應用程序數據庫的最佳方法。我使用EclipseLink-JPA2。我分發了一個NetBeans平臺應用程序。如何處理數據庫初始化?

考慮的方案:

  • 使用創建桌DDL代: 這樣做的問題是,每次應用程序運行時會拋出異常,無法創建表。它僅在安裝時纔有用。這與將檢查代碼放入restore()方法中類似。

  • 包含數據庫與應用程序分配:ddl生成策略變得什麼都不做。我仍然可以使用JPA(在開發時)生成數據庫文件(嵌入式Java DB)。

最好的解決方案是安裝程序/安裝程序(第一次)調用初始化創建數據庫的代碼。這正是我在here中用JWS所做的。但是如果沒有JWS,我不知道該怎麼做。腳本/ jar由安裝程序執行?

回答

0

通過JWS分發您的NetBeans平臺應用程序。

看起來您已經將此問題與JWS進行了整理,因此只需使用該解決方案來部署您的NetBeans平臺應用程序即可。

EDIT

另一種方法將是使用一個Module Installer用於檢查一個配置文件的存在。如果文件存在,那麼應用程序已經運行過了,並且不需要安裝。如果該文件不存在,則運行您的設置步驟。 看看this tutorial,他們使用模塊安裝程序創建登錄對話框。

+0

唯一的問題是JWS在每次更新時都運行設置代碼,因此我需要實現區分首次安裝和更新的邏輯。 – simpatico 2011-06-16 07:50:53

+0

@simpatico我已經添加了一個關於模塊安裝程序功能的編輯,我想你在哪裏也在談論。我認爲最有可能的是你控制得最好的最好方法。 – 2011-06-16 10:57:59