2010-11-29 47 views
0

我試圖做使用下面的查詢2個實體加盟 -EJB3實體 - 在不同的jar文件加入對實體

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(); 

的問題是,AttrEntityDescEnity在不同的jar文件,所以當我執行查詢,我得到一個異常,說實體DescEntity未找到。無論如何,我可以在不修改我的jar文件的情況下執行此查詢嗎?

回答

0

您可能在其中一個jar中定義了持久性單元(可能包含AttrEntity)。在該持久性單元中,您可能已列出屬於該PU的類。不確定這是否被規範所允許,但是您可以嘗試更改包含PU的jar的MANIFEST.MF,添加指向包含DescEntity的另一個jar的「classpath」條目。

但是,真的,如果有效的話,可以認爲它是一種醜陋的解決方法。正確的解決辦法是將它們放在同一個罐子裏。

0

找到了答案 - 我需要添加標籤 - secondJar.jar到第一個jar文件的persistence.xml。