关于JPA spec jar的问题(javax.persistence.jar)

时间:2012-12-05 17:43:22

标签: java hibernate jpa websphere eclipselink

我对official JPA 2.0 spec jarjavax.persistence.jar)的jar有一些疑问 (通常还与JPA实现或应用程序服务器捆绑在一起,有时命名略有不同):

问题:

  1. 哪里我能找到这个jar的官方 来源吗?

  2. 似乎这个jar的版本2.0和2.0.1。是否有更改日志 /发行说明?

  3. 我意识到 IBM WebSphere 似乎使用了这个jar的修改版本。这是这个jar / JPA规范的常规方法吗?有什么不同?


  4. 更新:

    只是为了澄清:我没有询问关于实际的JPA实现,而是官方javax.persistence类,它们是JSR / JPA规范中的一部分二进制形式。

2 个答案:

答案 0 :(得分:1)

WebSphere正在使用OpenJPA的修改版本,它基本上是OpenJPA的代码,但在IBM中编码了增强功能。

  1. 您无法获取来源,但它们大多与OpenJPA相同,因此对于大多数情况,您可以查看OpenJPA来源
  2. IBM没有为此提供更改日志,您可以查看WebSphere修订包中的更改以尝试了解更改内容并将其与OpenJPA的官方更改日志相结合
  3. 这是标准的,IBM添加了代码以使OpenJPA与WebSphere紧密协作,因此他们添加代码,这仍然符合规范,因此没有问题。
  4. 关于规范jar:

    WebSphere不使用Oracle制作的规范Jar,它们使用Apache制定的规范实现(Apache Geronimo JSR-317 JPA 2.0)。 这就是罐子不同的原因。 该规范不要求您使用Oracle实现的jar。

答案 1 :(得分:0)

EclipseLink是JPA的参考实现。当你看到jar的内容时,它显然来自eclipselink。

您可以下载eclipselink here。最小的bundle包含一个jar,它提供了javax.persistence(以及其他)的源代码。