사용자 도구

사이트 도구


java:jpa:nativequery

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
java:jpa:nativequery [2018/09/17 17:27]
kwon37xi
java:jpa:nativequery [2019/01/11 16:01]
kwon37xi
줄 1: 줄 1:
 ====== JPA and Native Query (SQL) ====== ====== JPA and Native Query (SQL) ======
   * [[https://stackoverflow.com/questions/13012584/jpa-how-to-convert-a-native-query-result-set-to-pojo-class-collection/21487061#21487061|java - JPA : How to convert a native query result set to POJO class collection - Stack Overflow]] : JPA에서 쿼리 결과를 POJO로 매핑하는 다양한 방법들   * [[https://stackoverflow.com/questions/13012584/jpa-how-to-convert-a-native-query-result-set-to-pojo-class-collection/21487061#21487061|java - JPA : How to convert a native query result set to POJO class collection - Stack Overflow]] : JPA에서 쿼리 결과를 POJO로 매핑하는 다양한 방법들
 +  * [[java:hibernate:hql|Hibernate HQL]]을 사용하는게 더 편할 수도 있음.
  
-===== ResultSetMapping =====+===== NativeSQL 결과 암묵적 Entity 매핑 ===== 
 +  * Native Query 결과를 entity 로 받는 방법으로 암묵적으로 할수도 있다. 
 +  * ''EntityManager.createNativeQuery("SQL", EntityClass.class).getSingleResult()'' 사용 
 + 
 +<code java> 
 +Book b = (Book) em.createNativeQuery("SELECT * FROM book b WHERE id = 1", Book.class).getSingleResult(); 
 +</code> 
 + 
 +===== NativeSQL 결과 명시적 Entity 매핑 : ResultSetMapping =====
   * 단일 엔티티에 대한 Native Query 실행은 매핑이 필요없다.   * 단일 엔티티에 대한 Native Query 실행은 매핑이 필요없다.
   * 다중 Entity를 결과로 받는 Native Query는 [[http://docs.oracle.com/javaee/7/api/javax/persistence/SqlResultSetMapping.html|@SqlResultSetMapping]]로 매핑 정보를 지정해야 하며 그 결과는 ''List<Object[]>''로 리턴한다.   * 다중 Entity를 결과로 받는 Native Query는 [[http://docs.oracle.com/javaee/7/api/javax/persistence/SqlResultSetMapping.html|@SqlResultSetMapping]]로 매핑 정보를 지정해야 하며 그 결과는 ''List<Object[]>''로 리턴한다.
줄 45: 줄 54:
  
 ===== 참고 ===== ===== 참고 =====
-[[https://medium.com/@SlackBeck/jpa-native-query-%EC%82%AC%EC%9A%A9%EC%8B%9C-dto%EB%A1%9C-%EB%A7%A4%ED%95%91-%ED%95%98%EA%B8%B0-64625780c758|JPA Native Query 사용시 DTO로 매핑 하기 – Yoo Young-mo – Medium]]+  * [[https://medium.com/@SlackBeck/jpa-native-query-%EC%82%AC%EC%9A%A9%EC%8B%9C-dto%EB%A1%9C-%EB%A7%A4%ED%95%91-%ED%95%98%EA%B8%B0-64625780c758|JPA Native Query 사용시 DTO로 매핑 하기 – Yoo Young-mo – Medium]] 
 +  * [[https://thoughts-on-java.org/hibernate-tips-map-native-query-results-entities/|Hibernate Tips: How to map native query results to entities]]
java/jpa/nativequery.txt · 마지막으로 수정됨: 2021/01/05 14:38 저자 kwon37xi