2010-11-29 4 views
0

나는 다음과 같은 쿼리를 사용하여이 개 단체에 가입 할 것을 시도하고있다 -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

아마 당신은 아마도 그 항아리 중 하나 (아마 AttrEntity를 포함하는)에 영속성 단위를 정의했습니다. 해당 퍼시스턴스 유닛에서 해당 PU에 속한 클래스를 나열했을 수 있습니다. 이것이 스펙에 의해서도 허용되는 것은 확실하지 않지만, PU를 포함하는 jar에 대해 MANIFEST.MF를 변경하고 DescEntity를 포함하는 다른 jar를 가리키는 "classpath"항목을 추가하려고 시도 할 수 있습니다.

하지만 실제로 작동하는 경우 멋진 해결 방법으로 간주하십시오. 적절한 해결책은 같은 항아리에 그들을 유지하는 것입니다.

0

답을 찾았습니다 - secondJar.jar 태그를 첫 번째 jar 파일의 persistence.xml에 추가해야합니다.

관련 문제