Spring Boot/JPA
JPA @query
최-코드
2024. 3. 30. 15:41
함수 위에 @query("쿼리문 작성")와 같이 쿼리문을 작성하면 함수는 해당 쿼리문을 실행한 결과를 반환한다. 이 때 파라미터를 넘겨주고 싶을 때는 ?로 두고 파라미터 번수를 옆에 써주면 된다. 예를 들어 String s1, String s2라는 파라미터가 있을 때 where a = ?1 and b=?2처럼 두면 s1은 ?1에 써지고 s2는 ?2에 써진다. 이를 JPQL이라고 한다.
like 연산을 위해 %, _와 같은 와일드 카드를 사용하려면 concat('%', ?1, '_') 이런 식으로 구성해야 한다.
ex) @Query("select a from article a where a.title like concat('%', ?1, '%')")