반응형
✔️ Spring Data JPA의 쿼리 메소드 작성 규칙
* By의 B는 반드시 대문자로 작성
1. 데이터 조회
find...By... 형식으로 작성
2. 데이터 개수 조회
count...By... 형식으로 작성
- 반환타입 : Long 값
3. 데이터의 존재 여부 조회
exists...By... 형식으로 작성
- 반환타입 : boolean 값
4. 데이터 삭제
delete...By... 형식으로 작성
5. 데이터 조회 제한
findFirst...By...
findFirst3...By...
findTop...By...
findTop3...By... 형식으로 작성
➖ Spring Data JPA가 지원하는 키워드
1. Distinct
- 중복행 제거
- findDistinctByLastnameAndFirstname(String lastname, String firstname)
- 아래 쿼리가 실행된다.
select distinct ...
from ...
where lastname = ? and firstname = ?
- 아래 쿼리가 실행된다.
2. And
- AND 조건
- findByLastnameAndFirstname(String lastname, String firstname)
- 아래 쿼리가 실행된다.
select ...
from ...
where lastname = ? and firstname = ?
- 아래 쿼리가 실행된다.
3. Or
- OR 조건
- findByLastnameOrFirstname(String lastname, String firstname)
- 아래 쿼리가 실행된다.
select ...
from ...
where lastname = ? or firstname = ?
- 아래 쿼리가 실행된다.
4. Between
- 범위 조건
- findByPriceBetween(int min, int max)
- 아래 쿼리가 실행된다.
select ...
from ...
where price between ? and ?
- 아래 쿼리가 실행된다.
5. Lessthan
- findByPriceLessThan(int price)
- 아래 쿼리가 실행된다.
select ...
from ...
where price < ?
- 아래 쿼리가 실행된다.
6. LessThanEqual
- findByPriceLessThanEqual(int price)
- 아래 쿼리가 실행된다.
select ...
from ...
where price <= ?
- 아래 쿼리가 실행된다.
7. GreaterThan과 GreaterThanEqual
Lessthan과 LessThanEqual
와 방향만 반대
8. After
- 시간상으로 이후
- findByStartdateAfter(Date day)
- 아래 쿼리가 실행된다.
select ...
from ...
where startdate > ?
- 아래 쿼리가 실행된다.
9. Before
After
와 부호방향만 반대
10. isNull, Null
- 컬럼값이 null인 것 조회
- findByManagerIdIsNull()
- findByManagerIdNull()
- 아래 쿼리가 실행된다.
select ...
from ...
where manager_id is null
- 아래 쿼리가 실행된다.
11. isNotNull, NotNull
- 컬럼값이 not null인 것 조회
- findByManagerIdIsNotNull()
- findByManagerIdNotNull()
- 아래 쿼리가 실행된다.
select ...
from ...
where manager_id is not null
- 아래 쿼리가 실행된다.
12. OrderBy
- findAllOrderByLastnameDesc()
- 아래 쿼리가 실행된다.
select ...
from ...
order by lastname desc
- 아래 쿼리가 실행된다.
13. In
- findByManagerIdIn(Collection
<String>
lastnames)- 아래 쿼리가 실행된다.
select ...
from ...
where lastname in (?, ?, ?)
- 아래 쿼리가 실행된다.
< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >
🔗 velog 버전 보기 : https://velog.io/@ryuneng2/Spring-Spring-Data-JPA의-쿼리-메소드-작성-규칙
'BackEnd > Spring' 카테고리의 다른 글
[Spring JPA] 스프링 애플리케이션의 JPA open-in-view 설정 (Feat. 지연로딩) (0) | 2025.01.19 |
---|---|
[Spring JPA] 연관관계(OneToMany, ...)의 즉시로딩과 지연로딩 (0) | 2025.01.19 |
[Spirng JPA] 단방향/양방향 연관관계 (0) | 2025.01.19 |
[Spring] form태그 하나로 등록, 수정 함께 컨트롤하기 (0) | 2025.01.19 |
[Spring JPA] Spring Data JPA의 페이징 처리 (0) | 2025.01.19 |