Jpa JEE6 war打包成几个模块

Jpa JEE6 war打包成几个模块,jpa,jar,ejb,war,packaging,Jpa,Jar,Ejb,War,Packaging,我想把我的WAR应用程序分成不同的JAR组件。 每个JAR组件都包含JPA实体、EJB和JSF组合组件 示例:将用户管理(XHTML、EJB、JPA实体)提取到自己的jar中 一开始,只要我不必使用entityManager,一切看起来都很好 问题: 在JAR文件的EJB中,永远不会注入entityManager 我正在使用@PersistenceContext注释进行注入 我在所有META-INF文件夹中都有一个beans.xml,所有内容(entityManager除外)都正确注入。无论是在

我想把我的WAR应用程序分成不同的JAR组件。 每个JAR组件都包含JPA实体、EJB和JSF组合组件

示例:将用户管理(XHTML、EJB、JPA实体)提取到自己的jar中

一开始,只要我不必使用entityManager,一切看起来都很好

问题: 在JAR文件的EJB中,永远不会注入entityManager

我正在使用@PersistenceContext注释进行注入

我在所有META-INF文件夹中都有一个beans.xml,所有内容(entityManager除外)都正确注入。无论是在所有JAR文件中还是仅在WAR文件中放置persistence.xml,这都无关紧要

有人有胶水吗?怎么做

我必须将不同的配置文件(beans.xml、persistence.xml)放在哪里

我需要ejb-jar.xml文件吗

这可能吗

技术堆栈:
JBoss 6.1/PrimeFaces 3.2/Maven/EJB 3.1/Hibernate/JTA/CDI

在每个包含实体的jar中都需要一个persistence.xml文件。 每个这样的持久性xml都应该定义不同的持久性单元

如果希望一个持久性单元引用在不同持久性单元中定义的实体,则需要将其作为jar文件条目包含在持久性单元定义中(请参见下面的示例)。 这适用于我们非常类似的JBoss5.1(然后是7)/EJB3/Hibernate、Maven

http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version=“1.0”>


包含其他持久性单元的JAR
java:/jbossmysql-ds

<persistence-unit name="PersistenceUnitA">
    <jar-file>JarContainingOtherPersistenceUnit</jar-file>
    <jta-data-source>java:/jboss-mysql-ds</jta-data-source>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
    </properties>
</persistence-unit>