Java EJB3实体-连接不同jar文件中的实体
我正在尝试使用以下查询对2个实体进行连接-Java EJB3实体-连接不同jar文件中的实体,java,ejb-3.0,entity,javabeans,Java,Ejb 3.0,Entity,Javabeans,我正在尝试使用以下查询对2个实体进行连接- String qry = "SELECT o.attr1, o.attr2, o.attr3, r.description FROM AttrEntity o, DescEntity r WHERE (o.code=r.code)"; Query query = entityManager.createQuery(qry); resultList = query.getResultList(); 问题是attentity和DescEntity在不同
String qry = "SELECT o.attr1, o.attr2, o.attr3, r.description FROM AttrEntity o, DescEntity r WHERE (o.code=r.code)";
Query query = entityManager.createQuery(qry);
resultList = query.getResultList();
问题是
attentity
和DescEntity
在不同的jar文件中,因此当我执行查询时,我得到一个异常,表示找不到实体DescEntity
。在不修改jar文件的情况下,我是否可以执行此查询?您可能在其中一个jar中定义了一个持久化单元(可能是包含属性的实体)。在该持久性单元中,您可能已经列出了属于该PU的类。不确定规范是否允许这样做,但您可以尝试更改包含PU的jar的MANIFEST.MF,添加一个指向另一个包含DescEntity的jar的“classpath”条目
但是,如果这样做的话,把它看作是一个丑陋的解决办法。正确的解决办法是把它们放在同一个罐子里 找到了答案-我需要将标记-secondJar.jar添加到第一个jar文件的persistence.xml中