@Query(리포지토리 메소드에 쿼리 정의)

Mina Park·2022년 10월 4일
0
  • 메소드에 JPQL 쿼리 바로 작성
    • @Query 어노테이션 적용
    • 실행할 메소드에 정적쿼리를 직접 작성(이름 없는 Named 쿼리의 개념)
    • JPA Named 쿼리처럼 애플리케이션 실행 시점에 문법 오류 발견 가능!!!(장점)
//쿼리 메소드(메소드 이름으로 쿼리 생성 기능)
List<Member> findByUsernameAndAgeGreaterThan(String username, int age);

//메소드에 쿼리 정의
@Query("select m from Member m where m.username = :username and m.age = :age")
    List<Member> findUser(@Param("username") String username, @Param("age") int age);

[참고] 쿼리 메소드와 비교했을 때, 전자의 경우 파라미터가 많아지게 되면 메소드 네이밍이 매우 지저분해지므로, 실무에서는 @Query 기능을 자주 사용

0개의 댓글