我正在尝试使用以下查询对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();
问题是AttrEntity
和DescEnity
在不同的jar文件中,因此当我执行查询时,我得到一个异常,说明找不到实体DescEntity
。无论如何我可以执行此查询而不修改我的jar文件吗?
答案 0 :(得分:0)
您可能在其中一个jar中定义了一个持久性单元(可能包含AttrEntity)。在该持久性单元中,您可能已列出属于该PU的类。不确定规范是否允许这样做,但您可以尝试更改包含PU的jar的MANIFEST.MF,添加指向包含DescEntity的另一个jar的“classpath”条目。
但实际上,如果可行,请将其视为UGLY解决方法。适当的解决方案是将它们放在同一个罐子里。
答案 1 :(得分:0)
找到答案 - 我需要将标签 - secondJar.jar添加到第一个jar文件的persistence.xml中。