【问题标题】:How would you make a JPA 2.1 module independent of the JPA implementation?您将如何使 JPA 2.1 模块独立于 JPA 实现?
【发布时间】:2014-04-07 19:49:30
【问题描述】:

我有一些 JPA 模块,其中包括使用 @Index 的实体和一些使用 EntityManagerFactory 等的代码,这些代码目前直接依赖于 OpenJPA。什么是让它独立于 JPA 实现而不限制在 Java 7 中的好方法?

基本上,我正在寻找一些实现中立的 JPA 2.1 规范 jar。有这样的事吗?如果我的意图没有意义,请告诉我原因。

【问题讨论】:

  • Index 和 EntityManagerFactory 是标准的 JPA 类,而不是专有的 OpenJPA 类。因此,您使用这些类的代码已经独立于 OpenJPA。有什么问题?
  • 它正在访问 openjpa 依赖项中的@Index。我可以修复它,但修复它需要引入与 Java 5 和 6 的不兼容性。我需要一个独立地提供 JPA 2.1 api 实现的非核心库。
  • 您的意思是问题在于您想要一个 jar 文件,它不是 OpenJPA 提供的,并且包含 JPA API 类?如果是这样,这里是:mvnrepository.com/artifact/org.hibernate.javax.persistence/…

标签: java hibernate jpa openjpa jpa-2.1


【解决方案1】:

我下载了 Oracle 的官方 Java EE 7 SDK 发行版,发现它包含 Glassfish。从http://mvnrepository.com/artifact/javax/javaee-web-api/7.0 我推断(它报告 GLASSFISH 作为问题跟踪器)官方 api 可能最好用以下方式表示:

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>javax.persistence</artifactId>
    <version>2.1.0</version>
</dependency>

【讨论】:

    猜你喜欢
    • 2013-09-02
    • 2021-01-21
    • 1970-01-01
    • 2013-08-30
    • 2015-12-15
    • 2019-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    相关资源
    最近更新 更多