答案 0 :(得分:3)
大多数差异来自OSGi如何识别提供者。例如,您可能需要自己将Hibernate jar包装为OSGi包(或者使用其他人已经包装的集合 - 网上有一些浮动)。
有时,提供程序尝试以不会在OSGi环境中运行的方式进行类加载,因此如果您自己包装或使用主要支持的提供程序的“off-piste”功能,则需要注意这一点。 。
您还需要确保提供程序将自己注册为OSGi服务。这只适用于OpenJPA,Aries代码库中有一个EclipseLink适配器。我假设人们共享的Hibernate捆绑包也是这样做的。有关如何在此线程中为其他提供程序(特别是DataNucleus)执行此操作的说明:
http://www.mail-archive.com/aries-user@incubator.apache.org/msg00251.html
答案 1 :(得分:1)
我实际上已经测试过提供商,所以我没有给你理论上的答案。
对于Aries JPA版本1.0.0
由于此处记录的问题,Hibernate无效: https://issues.apache.org/jira/browse/ARIES-978
由于缺少捆绑上下文,基本上部署失败。我认为可以安全地假设Aries只支持OpenJPA,直到它们在回归测试/样本中包含Hibernate和EclipseLink。我会关注何时/如果发生这种情况。