스프링데이터 JPA[쿼리 메서드] - 메서드 이름으로 쿼리 생성 규칙, 반환타입
2021. 2. 6. 21:09ㆍJPA/SPRING DATA JPA
쿼리 메서드의 메서드명으로 쿼리 생성시 명명 규칙에 대해 알아보자.
메서드 명명 규칙
- 조회: find…By ,read…By ,query…By get…By 예:) findHelloBy 처럼 ...에 식별하기 위한 내용(설명)이 들어가도 된다.
- COUNT: count…By 반환타입 long
- EXISTS: exists…By 반환타입 boolean
- 삭제: delete…By, remove…By 반환타입 long
- DISTINCT: findDistinct, findMemberDistinctBy
- LIMIT: findFirst3, findFirst, findTop, findTop3
자세한 규칙은 레퍼런스를 참고하자.
메서드 명명 규칙 스프링 공식 레퍼런스: docs.spring.io/spring-data/jpa/docs/2.4.3/reference/html/#jpa.query-methods.query-creation
- 간단한 조건 두 개정도면 위 메서드 명명 규칙을 사용해 직접 쿼리를 작성하지 않고 사용하는 것을 추천한다.
- 하지만 조건이 복잡해지고 많아질수록 메서드명이 엄청 길어지는 단점이 있기 때문에 조건이 3개 이상인 경우 @Query 어노테이션을 사용하여 직접 쿼리를 작성하는 것을 추천한다.
메서드 반환 타입
- 컬렉션, Optional, 엔티티 타입, 페이지 등 다양한 반환타입을 지원한다.
자세한 규칙은 레퍼런스를 참고하자
메서드 반환 타입 스프링 공식 레퍼런스: docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-return-types
'JPA > SPRING DATA JPA' 카테고리의 다른 글
스프링 데이터 JPA - Auditing, 엔티티에 등록일, 수정일, 등록자, 수정자 자동으로 적용하기! (0) | 2021.02.08 |
---|---|
스프링데이터 JPA - 사용자 정의 레퍼지토리 구현 (0) | 2021.02.07 |
스프링 데이터 JPA[쿼리 메서드] - 벌크 연산 (0) | 2021.02.06 |
스프링데이터 JPA[쿼리 메서드] - 페이징 (0) | 2021.02.06 |
스프링데이터 JPA[쿼리 메서드] - @Query 어노테이션 사용법 (0) | 2021.02.06 |