我已经构建了一个小应用程序。现在我正在寻找处理 JPA 配置的正确方法。
我的应用程序使用 JPA 2.0 连接到数据库。现在配置被硬编码在我的 persistence.xml 文件中。当我构建 jar 文件时,我的 persistence.xml 包含在 jar 中。
所以我的问题是:
- 如何配置我的应用程序/JPA 以使用任何 JPA 实现。
- 以及如何将同一个 jar 用作独立应用程序和部署在服务器上的组件(例如 Glassfish)
我已经构建了一个小应用程序。现在我正在寻找处理 JPA 配置的正确方法。
我的应用程序使用 JPA 2.0 连接到数据库。现在配置被硬编码在我的 persistence.xml 文件中。当我构建 jar 文件时,我的 persistence.xml 包含在 jar 中。
所以我的问题是:
首先,JPA 是一个规范,它正在由 ORM 框架提供者(如 Hibernate、Eclipselink 等)实现。
为了使您的应用程序与 JPA 的任何实现兼容,您应该严格遵循 JPA 规范,您不应该使用任何 ORM 供应商特定的功能,这将允许您的应用程序与任何 ORM 框架一起使用,但是您必须通过指定方言类您自己与特定数据库进行交互。
您可以在这里做的一件事是编写一个属性文件,该文件将包含该特定数据库的所有数据库名称以及对应的方言类,您可以要求用户选择数据库并可以从属性中获取相关的类名(方言类名)文件。
关于使用与独立应用程序相同的应用程序并将其用作在服务器上部署的组件,我很抱歉,但我不明白你的意思。