Spring Data Jpa의 쿼리 메서드 기능

신재원·2023년 2월 21일
0

Spring Data Jpa

목록 보기
2/13

📌 쿼리 메서드 기능

✔ 메서드 이름으로 쿼리를 자동 생성해준다.

  • 쿼리 메소드는 Repository 인터페이스에 간단한 네이밍 룰을 이용하여 메소드를 작성하면 원하는 쿼리를 실행할 수 있다.
  • 사용 예시 List<엔티티 클래스명> find + (엔티티 이름) + By + 변수 이름 (엔티티에 정의한 필드명)
    ( 엔티티의 이름은 생략이 가능합니다. )

📍 참고

이 기능은 엔티티의 필드명이 변경되면, 인터페이스에 정의한 메서드 이름도 꼭 함께 변경해야한다.
그렇지 않으면 애플리케이션 실행 시점에 오류가 발생한다.
(오류를 발견할수있는 큰 장점)

✔ 메서드 이름으로 JPA NamedQuery 호출 (실무에서 잘 사용 X)

  • 애플리케이션 실행 시점에 오류를 잡을수있다.

    • 사용 예시 (@NameQuery의 지정한 name을 통해 쿼리를 재사용)

      extend JpaRepository 가 있는 클래스에서 (Spring Data Jpa) 사용 findByusername은 위에있는 Spring Data Jpa의 쿼리 메서드 기능으로 메서드 이름으로 쿼리를 자동생성
  • Repository 메서드에 바로 쿼리를 지정할수있는 기능이 너무 막강해서 NamedQuery는 잘사용 X

✔ Repository 메서드에 쿼리 정의하기 (실무에서 많이사용)

  • 사용 예시 (쿼리문을 메서드에 직접 정의한다)
  • 네임드 쿼리처럼 애플리케이션 실행시점에 오류를 잡을수있다.
    (네임드 쿼리로 따로 네임만 정하지 않은 것이다.)

0개의 댓글