到目前为止,我遇到过的JPA 2 maven软件包只是来自hibernate或eclipse的完全实现。但我想建立我的包再次供应商不可知api。是公开的吗?
答案 0 :(得分:3)
JPA规范小组太懒了,无法为JPA 2.0和JPA 2.1发布供应商中立的API jar。例如,参见 https://java.net/jira/browse/JPA_SPEC-60
您只需选择一个供应商自己的产品,并希望他们没有将特定于供应商的产品放在那里。蹩脚
答案 1 :(得分:0)
查看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工件进行编译并使用我编译的工件与不同的持久性提供程序在运行时。