JPA 2.0的jar文件是什么?

8
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

我创建了一个JPA项目,想要使用上述类,但是我找不到缺失的jar包。请指导我。


2
一个持久性提供程序。你想要什么?Hibernate、EclipseLink、OpenJPA? - Bozho
3
不是持久性提供者,他需要的是jpa2.jar。实现本身不应该提供那个。 - DataNucleus
5个回答

7

2
与Java EE 6同时发布的RI之一(EclipseLink 2.0)有什么问题? - Pascal Thivent
2
谁说使用某些公司提供的jar包来包含javax.persistence类有什么“问题”?它们可能已经达到了规范的PFD2级别。事实是,目前没有“官方”的jpa2.jar……存储在Maven2 repos下的“javax/persistence/persistence-api/2.0”中,因此使用Geronimo specs jar(或其他人可以找到的jar)是一种方法,直到SUN/Oracle最终提供一个。EclipseLink下的那些只是“EclipseLink版本的javax.persistence”。 - DataNucleus
但是,Geronimo jar 的情况有什么不同之处?为什么我应该更喜欢这个 jar 而不是 RI 中的那个? - Pascal Thivent
我说“尝试使用Geronimo规范jar”,因为它提供了一个Apache 2许可的规范jar供使用,可以帮助用户解决问题。它的许可证是最自由的。如果我没记错的话,这也是主要的Maven2仓库中唯一的jar。什么是“RI”?它只是一个概念验证,证明了规范是可实现的;没有任何神奇的祝福或其他东西。在一天结束时使用你想要的。 - DataNucleus

5

自2011年以来,更好的方法是使用来自Maven中央仓库的那个,即

org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1-Final

或者

<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>

参见: http://repo1.maven.org/maven2/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.1.Final/

查看所有可用版本,特别是最新版本,请参见http://repo1.maven.org/maven2/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/


5


0

这些文件可以在 javax.persistence jar 文件中找到。Eclipse 版本的javax.persistence jar 文件可以在 Maven Central 上找到。或者您可以在项目的pom.xml文件中添加以下依赖项,让 Maven 为您下载它。

    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>javax.persistence</artifactId>
        <version>2.1.1</version>
        <scope>compile</scope>
    </dependency>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接