是否有JPA 3这样的版本?

Ble*_*eek 7 java google-app-engine hibernate ejb jpa

AFAIK,我一直在使用的最新和最好的是JPA 2.0.

我很困惑GAE有一个叫做appengine-java-sdk-1.6.5/lib/user/orm/geronimo-jpa_3.0_spec-1.1.1.jar的jar.我一直认为GAE在采用与最新,最出色的前沿协议兼容方面总是存在延迟.他们花了一些时间来采用JPA 2.0.

什么是JPA 3.0 jar在GAE SDK libs中做什么?是否有JPA 3.0这样的版本?通过在其他人之前实施新的版本协议,谷歌这次是不是一直在增加我们?在我可以参考的某个地方是否有JPA 3.0规范或参考impl?

我(现在)不是一个EJB人员(抱歉......自从10年前我对EJB 1.0有不好的经历以来,我决定避免使用EJB).

  • EJB 3.0是JPA 2.0的代名词,
  • 或者将JPA 2.0作为EJB 3.0的子集采用
  • 或者是JPA 3.0 = EJB 3.0?

WRT这个问题我问:从Hibernate entitymanager 3.6.9转移到4.1.2崩溃的mysql连接,Hibernate entity-manager 4.x是以某种方式与JPA 3.0相关还是至少是一个晚于2.0的JPA版本?我在Hibernate entity-manager 3.x和4.x之间遇到了很大的差异(到目前为止还没有部署4.x).

我意识到这个问题相当自我混淆,可能我应该将每个项目作为单独的问题提出,但我希望有人可以将所有这些内容整合在一个论文中:ejb 3,JPA 2/3,geronimo, hibernate ent-mgr 3/4.谢谢.

Dat*_*eus 7

没有像JPA3那样的东西(2012年6月).有JPA1,JPA2和(计划中)JPA2.1.那个geronimo-specs jar实际上是用于JPA1但是一些非常短视的人/组决定这样命名,现在看到它的后果.

如你所说GAE已经支持JPA2,使用他们的JPA插件的v2.x,可以从Maven存储库或http://code.google.com/p/datanucleus-appengine/获得 ,并且可以使用兼容的jpa-api v2 jar(例如geronimo-jpa_2.0_spec).


ftr*_*ftr 7

正如其他人所说,JPA 2.0是当前版本(Java EE 6的一部分),下一个版本将是JPA 2.1,它目前在规范(JSR 338)中并将包含在Java EE 7中. JPA 3到目前为止,所以JAR的名字很糟糕.

JPA 1.0作为Java EE 5的一部分引入,将持久性部分与EJB规范分开(因此Java EE 5引入了EJB 3.0和JPA 1.0,不再有Entity Beans,是的!).然后,Java EE 6包含EJB 3.1和JPA 2.0.

Java EE 7将包括EJB 3.2和JPA 2.1.