【问题标题】:Right way to configure JPA to work with any JPA implementation配置 JPA 以使用任何 JPA 实现的正确方法
【发布时间】:2013-08-27 09:42:05
【问题描述】:

我已经构建了一个小应用程序。现在我正在寻找处理 JPA 配置的正确方法。

我的应用程序使用 JPA 2.0 连接到数据库。现在配置被硬编码在我的 persistence.xml 文件中。当我构建 jar 文件时,我的 persistence.xml 包含在 jar 中。

所以我的问题是:

  • 如何配置我的应用程序/JPA 以使用任何 JPA 实现。
  • 我如何将同一个 jar 用作独立应用程序和部署在服务器上的组件(例如 Glassfish)

【问题讨论】:

    标签: java jpa persistence config


    【解决方案1】:

    首先,JPA 是一个规范,它正在由 ORM 框架提供商如 Hibernate、Eclipselink 等实现。

    为了使您的应用程序与 JPA 的任何实现兼容,您应该严格遵循 JPA 规范,您不应该使用任何 ORM 供应商特定的功能,这将允许您的应用程序与任何 ORM 框架一起使用,但是您必须指定您自己的方言类与特定数据库进行交互。

    您可以在这里做的一件事是编写一个属性文件,该文件将包含该特定数据库的所有数据库名称和对应的方言类,您可以要求用户选择数据库并可以获取相关的类名(方言类名)来自属性文件。

    关于将相同的应用程序用作独立应用程序并将其用作组件以部署在服务器上,很抱歉,我不明白您的意思。

    【讨论】:

    • 我想到了像 Jenkins 这样的东西。您可以从命令行 (java -jar jenkins.war) 运行它或将其部署在服务器上。就我而言,我可以从命令行执行它或在 Web 应用程序中使用它。在网络服务器上,应用程序应该使用来自服务器的 JPA 实现和配置。
    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2010-12-23
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多