티스토리 뷰
반응형
CRUDRepository
CRUDRepository는 Spring Data JPA가 제공하는 인터페이스 중, CRUD(Create, Read, Update, Delete)에 관한 인터페이스만을 제공한다. 하지만, 더 다양한 인터페이스가 필요할 수 있다.
JPARepository
JPARepository는 CRUDRepository를 확장해 추가로 JPA에 특화된 인터페이스를 제공한다.
Paging, Sorting, Flushing, 배치작업 등의 인터페이스를 추가로 제공한다.
interface UserRepository: JpaRepository<E, K> { // E에는 관리할 Entity, K는 Entity의 Primary Key의 타입
}
기본적으로 제공하는 메서드가 있으며, 메서드 이름으로 쿼리를 생성할 수 있기 때문에, 필요한 쿼리문의 내용을 규칙에 맞게 메서드를 정의하면 된다.
save | 파라미터를 레코드 저장 |
findOne | 레코드 하나 반환 |
find | 해당하는 레코드 전체 반환 |
count | 해당하는 레코드 수 반환 |
delete | 해당하는 레코드 삭제 |
위의 메서드를 아래 키워드와 Entity의 변수명을 조합하여 메서드를 정의한다.
Distinct | findDistinctByLastnameAndFirstname | 중복을 제거하여 결과를 반환 |
And | findByLastnameAndFirstname | 두개의 조건이 모두 참인 결과 반환 |
Or | findByLastnameOrFirstname | 두개의 조건이 모두 거짓인 결과 제외하고 반환 |
Is, Equals | findByFirstname,findByFirstnameIs,findByFirstnameEquals | |
Between | findByStartDateBetween | 두 값 사이에 해당하는 결과 반환 |
LessThan | findByAgeLessThan | 파라미터 미만인 결과 반환 |
LessThanEqual | findByAgeLessThanEqual | 파라미터 이하인 결과 반환 |
GreaterThan | findByAgeGreaterThan | 파라미터 초과인 결과 반환 |
GreaterThanEqual | findByAgeGreaterThanEqual | 파라미터 이상인 결과 반환 |
After | findByStartDateAfter | 파라미터 이후인 결과 반환 |
Before | findByStartDateBefore | 파라미터 이전인 결과 반환 |
IsNull, Null | findByAge(Is)Null | 컬럼이 null인 결과 반환 |
IsNotNull, NotNull | findByAge(Is)NotNull | 컬럼이 null이 아닌 결과 반환 |
Like | findByFirstnameLike | SQL의 Like 문법 사용 (문자열 부분일치) |
NotLike | findByFirstnameNotLike | SQL의 Not Like 문법 사용 |
StartingWith | findByFirstnameStartingWith | 파라미터로 시작하는 문자열인 경우 반환 |
EndingWith | findByFirstnameEndingWith | 파라미터로 끝나는 문자열인 경우 반환 |
Containing | findByFirstnameContaining | 파라미터가 포함된 문자열인 경우 반환 |
OrderBy | findByAgeOrderByLastnameDesc | 오름차순 혹은 내림차순 설정 |
Not | findByLastnameNot | 파라미터가 아닌 경우 반환 |
In | findByAgeIn(Collection<Age> ages) | 파라미터가 리스트일 때, 리스트에 포함된 요소와 같은 경우 반환 |
NotIn | findByAgeNotIn(Collection<Age> ages) | 파라미터가 리스트일 때, 리스트에 포함된 요소와 다른 경우 반환 |
True | findByActiveTrue() | 컬럼이 true인 경우 반환 |
False | findByActiveFalse() | 컬럼이 false 인 경우 반환 |
IgnoreCase | findByFirstnameIgnoreCase | 대소문자를 구분하지 않음 |
반응형
'서버 > Spring' 카테고리의 다른 글
[Spring] 상태 유지 - 세션 관리 (쿠키, 세션) (0) | 2024.02.08 |
---|---|
[Spring] 스프링 빈(Bean) (0) | 2024.02.04 |
[Spring] ORM, JPA, Spring Data JPA, Hibernate, JDBC (0) | 2024.01.31 |
[Spring] Spring Scheduler (0) | 2024.01.31 |
[Spring] Controller - API 만들기 (1) | 2024.01.25 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 거리 벡터 라우팅
- 혼잡
- 네트워크
- Service Primitive
- 네트워크 계층
- 통합점
- 서비스 프리미티브
- 교환 시스템
- IP
- 사설 IP 주소
- Internetworking
- 데이터링크
- 동기점
- 오류 제어
- 표현 계층
- 전송 계층
- 리키 버킷
- ECN 패킷
- 데이터링크 계층
- 네임 서버
- 가상 회선
- 링크 상태 라우팅
- 세션 계층
- 세션 연결
- 포트 주소
- 라우팅
- OSI 7계층
- HTTP
- TTL
- 와일드카드 마스크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
글 보관함