@Query

방세현·2023년 3월 27일
0

jpa

목록 보기
5/8

쿼리메서드를 통해 쿼리를 생성하는 방식은 조건이 많아질 경우 메서드의 이름이 길어져 가독성이 떨어진다.
비교적 복잡한 쿼리를 작성하기 위해 사용된다.


@Query 문법 - 기본 쿼리 작성 방법


직접 쿼리를 사용하는 방법

@Query("SELECT p FROM Product p WHERE p.price > 2000")
List<Product> findByPriceBasis();	//@Query가 붙는 순간 메서드 이름에 규칙은 없고 
									//단지 호출할때 사용되는것뿐이다.

DB의 Native Query를 사용하는 방법

@Query(value="SELECT * FROM product p WHERE p.price > 2000", nativeQuery = true)
List<Product> findByPriceBasisNativeQuery();

파라미터를 쿼리에 주입하는 방법

@Query("SELECT p FROM Product p WHERE p.price >?1"	//?1 = 첫번째 파라미터
List<Product> findByPriceWithParameter(Integer price);

:parameter 방식으로 주입하는 방법

@Query("SELECT p FROM Product p WHERE p.price >:price")	//변수명
List<Product> findByPriceWithParameterNaming(Integer price);

@Query("SELECT p FROM Product p WHERE p.price >:pri")
List<Product> findByPriceWithParameterNaming2(@Param("pri") Integer price);	//변수명

0개의 댓글