@Query 어노테이션

Codren·2021년 9월 20일
1

Spring Boot 쇼핑몰

목록 보기
6/32

Section 1. @Query 어노테이션

1. Spring Data JPA @Query 어노테이션

SQL과 유사한 JPQL (Java Persistence Query Language) 라는 객체지향 쿼리 언어를 통해 복잡한 쿼리 처리를 지원

  • JPQL - 테이블이 아닌 엔티티 객체를 대상으로 검색하는 객체지향 쿼리, SQL 추상화로 인해 특정 db sql 에 의존하지 않음



2. @Query 를 이용한 조회

  • 상품 상세 설명(itemDetail)으로 상품을 조회하고 결과는 가격순으로 정렬
  • select "엔티티명" = select "*"
  • @Param 을 통해 매개변수로 넘어온 값을 JPQL에 들어갈 변수로 지정




3. @Query 를 이용한 조회 테스트 수행

  • ItemDetail 컬럼 값에 "테스트 상품 상세 설명" 문자열이 포함되어 있으면 추출




4. 쿼리 전달 및 결과

  • 쿼리 전달 (where 및 order by 문을 통해서 조건 및 정렬 수행)

  • 쿼리 결과



Section 2. @Query nativeQuery

1. nativeQuery

기존의 SQL 문을 사용할 수 있도록 지원하는 @Query 어노테이션의 속성



2. @Query nativeQuery 를 이용한 조회

  • @Query 속성의 value 값으로 SQL 문을 지정하고, nativeQuery 속성 값을 true 지정




3. @Query 를 이용한 조회 테스트 수행

  • ItemDetail 컬럼 값에 "테스트 상품 상세 설명" 문자열이 포함되어 있으면 추출




4. 쿼리 전달 및 결과

  • 위에 @Query 를 이용한 조회 결과와 동일한 결과를 얻을 수 있음

0개의 댓글