我们正在决定是否使用OSGI。这是一个多方面的决定,但是我有关于OSGI和JPA之间的互操作性的具体问题。我读到了两者的结合有几个问题。 Mike Keith的presentation或here中描述了这些问题的详细描述。JEE环境中OSGI和JPA的互操作性
持久性是另一个具有挑战性的问题。带OSGI的JPA要求我们 将所有要在捆绑中使用的类加倍。这迫使我们为所有实体使用接口,因为它们的类将是 的不同。这里的主要问题是开发人员编写 正确的代码并维护配置文件。诸如 之类的方法通常需要重写,如果对多个 包中存在的实体使用继承,那么可能是 不重要。
而且我发现一个悬而未决post on SO其描述这样的:
我只是想给一个想法,为什么你没有得到这个 问题的任何答案。几年前,我实现了OSGi EE 规范的JPA章节。我真的想在OSGi内支持JPA。事情是,他们 是不兼容。 OSGi 中的每种技术都存在使用编织,字节码操作,拦截器或其他技巧的问题。 您必须决定,无论是这些技术还是OSGi,否则您将在这样的问题上花费您宝贵的时间。曾经有许多开发人员希望支持JPA,但他们也都消失了。我猜想,他们也向前迈进。
我们在带有EJB,JPA(Hibernate),CDI和Oracle数据库的JBOSS上使用JEE 7。我们是而不是能够切换数据库,JPA提供程序或持久化技术(JPA)。
我真的不知道为什么麦克基思认为有必要翻一番他的所有课程。我没有看到这个问题,他也没有在博客文章中解释。 –