사용자 도구

사이트 도구


java:jpa:nativequery

문서의 이전 판입니다!


JPA and Native Query (SQL)

ResultSetMapping

  • 단일 엔티티에 대한 Native Query 실행은 매핑이 필요없다.
  • 다중 Entity를 결과로 받는 Native Query는 @SqlResultSetMapping로 매핑 정보를 지정해야 하며 그 결과는 List<Object[]>로 리턴한다.
    • Object[]에는 SqlResultSetMapping에 지정된 순서대로 결과 엔티티 객체가 들어온다.
  • NativeQuery Result Set Mapping은 모든 필드를 명백히 기술해서 매핑해 주자. 그렇지 않으면 컬럼의 변경이 발생하거나 두 개 이상 엔티티에 대한 매핑시 동일 컬럼 이름 존재시 심각한 오류가 발생할 수 있다.
  • 두 개 이상의 엔티티를 로딩하는데 그 것들이 서로 연관 관계일 경우 이미 연관 관계가 자동으로 채워진 상태의 엔티티가 생성된다. 이미 Native Query 결과 객체(result set mapping)내에 연관에 관한 데이터 매핑이 있으면 다시 쿼리를 날리지 않는다.
java/jpa/nativequery.1423379275.txt.gz · 마지막으로 수정됨: 2015/02/08 16:07 저자 kwon37xi