관리 메뉴

제뉴어리의 모든것

Spring Data JPA 쿼리 메소드 간단 정리 본문

Spring Boot/JPA

Spring Data JPA 쿼리 메소드 간단 정리

제뉴어리맨 2024. 5. 8. 19:27

쿼리 메소드란

Spring Data JPA 에서 제공하는 기능으로, 엔티티에 대해 처리할 쿼리 내용을 규칙에 따라 메소드의 명칭과 파라미터로로 정의하여 작업내용을 처리하는 메소드를 생성하는 기능.

 

주요 특징

  • 메소드명칭과 파라미터로 인해 쿼리 자동 생성
  • 파라미터로 인한 동적 조건 설정 가능
  • JPQL에 대한 직접 작성 필요 없이 쿼리 자동 생성

 

예시 1

public interface UserRepository extends Repository<User, Long> {

  List<User> findByEmailAddressAndLastname(String emailAddress, String lastname);
}


위에 메소드를 아래와 같이 쿼리화 하여 처리
select u from User u where u.emailAddress = ?1 and u.lastname = ?2

 

예시 2

@Repository
public interface DiaryRepository extends JpaRepository<Diary, Long> {
    
    //RegDate가 fromDate ~ toDate 사이의 값이면서, Member가 member이며, Emotion의 값이 emotion값과 같거나 작은 모든 데이터를 pageable 형식에 맞게 페이지화 하여 가져올것 
    Page<Diary> findAllByRegDateBetweenAndMemberAndEmotionLessThanEqual(LocalDateTime fromDate, LocalDateTime toDate, Pageable pageable, Member member, Integer emotion);
}

 

 

참조

https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html