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 提供程序?的主要内容,如果未能解决你的问题,请参考以下文章

Aries JPA EntityManager 服务未针对 WebLogic 数据源启动

关闭 Apache Aries 的默认网页

JPA:哪些实现支持延迟加载外部事务?

做大数据分析系统Hadoop需要用哪些软件

JPA 混淆(托管与非托管实体)

哪个版本的hibernate支持jpa 2.1?