📌 쿼리 메소드 기능 3가지
- 메소드 이름으로 쿼리 생성
- 메소드 이름으로 JPA NamedQuery 호출
- @Query 어노테이션을 사용해서 리파지토리 인터페이스에 쿼리 직접 정의
1. 메소드 이름으로 쿼리 생성
public interface MemberRepository extends JpaRepository<Member, Long> {
//쿼리 메소드
List<Member> findByUsernameAndAgeGreaterThan(String username, int age);
List<Member> findTop3HelloBy();
}
2. 쿼리 메소드 필터 조건
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation
3. Spring Data JPA가 제공하는 쿼리 메소드 기능
[참고] 만약 엔티티의 필드명이 변경된다면?
- 당연히 인터페이스에 정의해둔 메소드 이름도 반드시 변경!!!
- 그렇지 않으면 애플리케이션 시작 시점에 오류가 발생(바로 오류 체크가 되기때문에 장점)