2010-08-07 145 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