我正在使用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.0
Sun/Oracle 仍然没有任何工件.javax:javaee-api:jar:6.0
如果你想要Sun/Oracle的东西,可以使用完整的工件......或者只是坚持使用Hibernate,EclipseLink,OpenJPA等提供的接口.
正如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,并在运行时类路径上实现了它们.
目前(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仓库中维护.