我想将WAR应用程序的一部分拆分为不同的JAR组件 . 每个JAR组件都包含JPA-Entities,EJB和JSF-Composite-Components .
示例:将用户管理(XHTML,EJB,JPA-Entities)提取到自己的jar中 .
一开始,只要我不必使用entityManager,一切看起来都很好 .
问题:在JAR文件的EJB中,永远不会注入entityManager .
我正在使用@PersistenceContext注释进行注入 .
我在所有META-INF文件夹中都有一个beans.xml,并且正确注入了所有内容(例外的entityManager) . 如果我将persistence.xml放在所有JAR文件中或仅放在WAR文件中,则无关紧要 .
有没有人有胶水如何做到这一点?
我在哪里放置不同的配置文件(beans.xml,persistence.xml)?
我需要一个ejb-jar.xml文件吗?
这有可能吗?
技术 - 堆栈:JBoss 6.1 / PrimeFaces 3.2 / Maven / EJB 3.1 / Hibernate / JTA / CDI
1 回答
您需要在包含实体的每个jar中使用persistence.xml文件 . 每个这样的持久性xml都应该定义一个不同的持久性单元 .
如果您希望一个持久性单元在不同的持久性单元中引用实体定义,那么您需要将其作为jar文件条目包含在持久性单元定义中(请参阅下面的示例) . 这对我们来说非常类似于JBoss 5.1(然后是7)/ EJB3 / Hibernate,Maven,...
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd“version =”1.0“>