JPA 2.0 API maven工件

26 maven-2 jpa-2.0

我正在使用JPA 2.0,我的持久性提供程序是Hibernate; 但是,我想从javax中包含一个标准API,但在中心,没有2.0工件.我目前正在使用Hibernate JPA 2.0工件,但我想使用更标准的东西.

这可能吗?

谢谢,

沃尔特

Pas*_*ent 17

我目前正在使用Hibernate JPA 2.0工件,但我想使用更标准的东西

javax.persistence:persistence-api:jar:2.0Sun/Oracle 仍然没有任何工件.javax:javaee-api:jar:6.0如果你想要Sun/Oracle的东西,可以使用完整的工件......或者只是坚持使用Hibernate,EclipseLink,OpenJPA等提供的接口.

  • 似乎2012年1月仍然存在这种情况......是什么给出的? (5认同)

Tom*_*son 9

正如Ivan所说,Maven中没有正式的Sunacle罐子.但是,通常情况下,给定API的实现者将发布该API的工件(API本身,而不是它们的实现.

在JPA 2.0的情况下,Hibernate发布org.hibernate.javax.persistence:hibernate-jpa-2.0-api,它只包含javax.persistence类,而不包含特定于Hibernate的东西.

我的build.gradle因此说:

dependencies {
    compile group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.0-api', version: '1.0.1.Final'
    runtime group: 'org.hibernate', name: 'hibernate-entitymanager', version: '4.1.4.Final'
}
Run Code Online (Sandbox Code Playgroud)

这使得Hibernate在编译类路径上发布了API,并在运行时类路径上实现了它们.


rmu*_*ler 5

目前(2017年第四季度)有一个javax.persistence-api在maven中心可用.

<dependency>
  <groupId>javax.persistence</groupId>
  <artifactId>javax.persistence-api</artifactId>
  <version>2.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

代码在此github仓库中维护.