Apache Aries 托管 JPA 支持哪些 JPA 提供程序?
Posted
技术标签:
【中文标题】Apache Aries 托管 JPA 支持哪些 JPA 提供程序?【英文标题】:Which JPA providers are supported by Apache Aries Managed JPA? 【发布时间】:2012-04-26 19:19:03 【问题描述】:显然,OpenJPA。我还看到提到过 EclipseLink 和 Hibernate,但是在功能上有显着差异吗?
【问题讨论】:
【参考方案1】:大多数差异来自提供者对 OSGi 的感知程度。例如,您可能需要自己将 Hibernate jar 打包为 OSGi 捆绑包(或使用其他人已经打包的集合 - 网上有一些浮动)。
提供者有时会尝试以无法在 OSGi 环境中工作的方式进行类加载,因此,如果您自己包装或使用主要支持的提供者的“离线”功能,则需要注意这一点.
您还需要确保提供者将自己注册为 OSGi 服务。这仅适用于 OpenJPA,并且 Aries 代码库中有一个 EclipseLink 适配器。我假设人们共享的 Hibernate 包也可以做到这一点。在此线程中有关于如何为其他提供者(特别是 DataNucleus)执行此操作的说明:
http://www.mail-archive.com/aries-user@incubator.apache.org/msg00251.html
【讨论】:
链接不会转到线程,而是转到完整的存档。应该是mail-archive.com/aries-user@incubator.apache.org/msg00251.html?【参考方案2】:我已经实际测试过提供商,所以我不会给你一个理论上的答案。
对于 Aries JPA 版本 1.0.0
OpenJPA 工作 休眠不工作 EclipseLink 没试过由于此处记录的问题,Hibernate 无法工作: https://issues.apache.org/jira/browse/ARIES-978
由于缺少捆绑上下文,基本上部署会失败。我认为可以安全地假设 Aries 仅支持 OpenJPA,直到它们在回归测试/样本中包含 Hibernate 和 EclipseLink。我会留意何时/是否会发生这种情况。
【讨论】:
以上是关于Apache Aries 托管 JPA 支持哪些 JPA 提供程序?的主要内容,如果未能解决你的问题,请参考以下文章