on
[자바 ORM 표준 JPA 프로그래밍] 10.5 네이티브 SQL
[자바 ORM 표준 JPA 프로그래밍] 10.5 네이티브 SQL
@SqlREsultSetMapping
String sql = "SELECT M.ID, AGE, NAME, TEAM_ID, I.ORDER_COUNT " + "FROM MEMBER M " + "LEFT JOIN " + " (SELECT IM.ID, COUNT(*) AS ORDER_COUNT " + " FROM ORDERS O, MEMBER IM " + " WHERE O.MEMBER_ID = IM.ID) I " + "ON M.ID = I.ID"; Query nativQuery = em.createNativeQuery(sql, "memberWithOrderCount"); List resultList = nativeQuery.getResultList(); for (Ojbect[] row : resultList) { Member member = (Member) row[0]; BigInteger orderCount = (BigInteger)row[1]; System.out.println("member = " + member); System.out.println("orderCount = " + orderCount); }
결과 매핑을 정의
@FieldREsult를 사용해서 컬럼명과 필드명을 직접 매핑이 가능 @FieldResult를 한 번이라도 사용하면 전체 필드 매핑이 필요 두 엔티티를 조회하는데 컬럼명이 중복될 때 @FieldREsult를 사용해서 별칭으로 매핑
from http://milenote.tistory.com/139 by ccl(A) rewrite - 2021-09-13 23:01:11