到目前为止,我遇到的JPA 2 maven包只是从hibernate或eclipse中完全实现的。但是我想要构建我的包来反对与供应商无关的api。它是公开的吗?
JPA规范组懒得为JPA 2.0和JPA 2.1发布一个厂商中立的API jar。参见示例https://java.net/jira/browse/JPA_SPEC-60
你只需要选择一个供应商自己的,并希望他们没有把供应商的细节在那里。不时髦的
看看org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final
, org.eclipse.persistence:javax.persistence:2.1.0
或org.apache.geronimo.specs:geronimo-jpa_2.0_spec:1.1
。
Hibernate JAR根本没有实现特定的类,其他两个只是包含一些OSGi添加,当应用程序不使用OSGi时不会造成任何损害。
虽然当然更希望有一个正式的javax.persistence:javax.persistence-api:2.x
构件,但我从来没有遇到过针对具有provided
作用域的Geronimo构件进行编译并在运行时将编译的构件与不同的持久性提供程序一起使用的问题。