2011-08-20 7 views
0

JPA 엔티티 클래스 (여러 가지 중 하나)가 있으며 문제없이 해당 엔티티를 반환 할 때 JPQL 쿼리를 실행할 수 있습니다. 그러나 엔티티에 매핑하는 대신 기본 테이블의 모든 필드를 선택하고 해당 엔티티 유형의 목록을 반환하는 명명 된 네이티브 쿼리를 실행하려고하면 결과 집합을 포함하는 객체 배열이 java.util.Vector이됩니다. 즉, 데이터가 반환되지만 엔터티에 매핑되지 않습니다. 이것은 오류가 EL 구문 분석기에서 NumberFormatException으로 나타나기 때문에 Java의 가짜 제네릭에 의해 악화됩니다.EclipseLink가 PostgreSQL의 네이티브 쿼리를 엔티티에 매핑하지 않습니다.

내 쿼리 호출 코드 :

return em.createNamedQuery("ClinicDoctor.findUnchangedByClinicSystemId", 
          ClinicDoctor.class) 
    .setParameter(1, clinicSystemId) 
    .getResultList(); 

내가 잘하고 JPQL 쿼리, 정확히 내가 네이티브 쿼리에서 선택하고있어 열 이름과 일치 선택한 열 이름을 실행할 수는 EclipseLink 로깅을 전환

.

나는 뭔가를 놓친가요? 맵핑을 작동시키기 위해 점프해야하는 불타는 후프가 있습니까?

답변

0

이 질문을 한 직후에 orm.xml의 <named-native-query/> 태그에 result-class 속성을 설정해야한다는 것을 알게되었습니다.

관련 문제