Installation 如何处理数据库初始化?

Installation 如何处理数据库初始化?,installation,jpa-2.0,netbeans-platform,Installation,Jpa 2.0,Netbeans Platform,如前所述,我正在尝试确定初始化和更新应用程序数据库的最佳方法。我使用EclipseLink-JPA2。我发布了一个NetBeans平台应用程序 考虑的备选方案: 使用创建表ddl生成: 问题是每次应用程序运行时都会抛出异常,无法创建表。它仅在设置时有用。这类似于在模块还原方法中放置检查代码 将数据库包含在应用程序分发中:ddl生成策略变为“不做任何事情”。我仍然可以在开发时使用JPA生成嵌入JavaDB的数据库文件 最好的解决方案是安装程序/安装程序第一次调用创建数据库的初始化代码。这正是我在J

如前所述,我正在尝试确定初始化和更新应用程序数据库的最佳方法。我使用EclipseLink-JPA2。我发布了一个NetBeans平台应用程序

考虑的备选方案:

使用创建表ddl生成: 问题是每次应用程序运行时都会抛出异常,无法创建表。它仅在设置时有用。这类似于在模块还原方法中放置检查代码

将数据库包含在应用程序分发中:ddl生成策略变为“不做任何事情”。我仍然可以在开发时使用JPA生成嵌入JavaDB的数据库文件


最好的解决方案是安装程序/安装程序第一次调用创建数据库的初始化代码。这正是我在JWS中所做的。但是我不知道没有JWS怎么做。安装程序执行的脚本/jar?

通过JWS分发您的NetBeans平台应用程序

似乎您已经用JWS解决了这个问题,所以只需使用该解决方案部署您的NetBeans平台应用程序

编辑

另一种方法是使用检查配置文件是否存在的方法。如果文件存在,则该应用程序以前已运行过,不需要安装。如果文件不存在,请运行安装步骤。
看看,他们正在使用模块安装程序创建登录对话框。

通过JWS分发您的NetBeans平台应用程序

似乎您已经用JWS解决了这个问题,所以只需使用该解决方案部署您的NetBeans平台应用程序

编辑

另一种方法是使用检查配置文件是否存在的方法。如果文件存在,则该应用程序以前已运行过,不需要安装。如果文件不存在,请运行安装步骤。
看看,他们正在使用模块安装程序创建登录对话框。

唯一的问题是JWS也会在每次更新时运行安装代码,因此我需要实现区分首次安装和更新的逻辑。@simpatico我添加了一个关于模块安装程序功能的编辑,我想您也在讨论这个功能。我认为这很可能是你的最佳选择,因为你拥有最多的控制权。唯一的问题是JWS也会在每次更新时运行安装程序代码,因此我需要实现区分首次安装和更新的逻辑。@simpatico我添加了一个关于模块安装程序功能的编辑,我想你也在讨论这个功能。我认为这很可能是你最好的选择,因为你掌握了最多的控制权。