无法解析与名为[y.war]的模块范围内的持久性上下文引用名称{x]对应的持久性单元

yrefmtwq  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(143)

我有两个项目(x,y),其中项目y依赖于项目x,我想在payara 5中部署项目y的.ear文件(其中有y war文件+y jar文件+x jar文件),在部署时我得到以下错误
“调用类org.glassfish.persistence.jpa.jpadeployer prepare method java.lang.runtimeexception时发生异常:无法解析与名为[y.war]的模块范围内的持久性上下文引用名称[com..bcd.def.efg.dao.abstractdao/em]对应的持久性单元。”。请验证您的申请。”
项目x(peristence.xml):

<persistence-unit name="x_pu">
    <jta-data-source>x-data-source</jta-data-source>
    <class>com.abc.bcd.def.efg.entities.AbstractEntity</class>

项目y(persistence.xml)

<persistence-unit name="y_pu">
    <jta-data-source>y-data-source</jta-data-source>
    <class>com.abc.bcd.def.efg.entities.AbstractEntity</class>

正如下面提到的,我在x项目的abstractdao.java中定义了@persistencecontext注解(在错误--peristence context ref name[com..bcd.def.efg.dao.abstractdao/em]中提到)。

public abstract class AbstractDAO<T extends AbstractEntity> implements IDAO<T> {
      @PersistenceContext
      protected EntityManager em;

我尝试了不同的方法(比如在@persistencecontext之后定义unitname,在x项目的web.xml中定义unitname),但都不起作用。有人能帮我解决这个问题吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题