[스프링] JPA 쿼리 메서드
스프링 데이터 JPA는 쿼리 메서드를 사용하여 손쉽게 데이터베이스에 대한 검색을 수행할 수 있습니다. 쿼리 메서드는 간단한 메서드 이름 규칙에 따라 작성됩니다.
쿼리 메서드 규칙
쿼리 메서드의 작성 규칙은 다음과 같습니다:
- 메서드 이름은
find...By
,read...By
,query...By
,count...By
,get...By
로 시작합니다. - 그 뒤에 엔티티 속성의 이름을 CamelCase로 작성하고, 조건 키워드를 사용하여 메서드의 기능을 확장할 수 있습니다.
- 쿼리 메서드를 작성하는 동안에는 IDE에서 자동 완성 기능을 활용하는 것이 좋습니다.
예제
다음은 간단한 쿼리 메서드의 예제입니다.
public interface UserRepository extends JpaRepository<User, Long> {
User findByUsername(String username);
List<User> findByAgeGreaterThan(int age);
List<User> findByLastNameOrderByFirstNameDesc(String lastName);
int countByFirstName(String firstName);
}
위의 예제에서는 사용자 엔티티에 대한 간단한 쿼리 메서드를 작성하였습니다. 이제 해당 메서드들은 자동으로 쿼리로 변환되어 데이터베이스에서 실행됩니다.
쿼리 메서드를 사용하면 간단한 메서드 이름만으로도 매우 복잡한 데이터베이스 검색을 수행할 수 있으므로, JPA 기반 어플리케이션 개발 시 유용하게 활용될 수 있습니다.