티스토리 뷰

반응형

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 대소문자를 구분하지 않음

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
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
글 보관함