본문 바로가기
IT/Java

JPA query Keyword (repository)

by 성준하이 2022. 12. 6.
반응형

이전 포스팅에서 jpa 메서드 들을 간단하게 정리한 포스팅이 있다.

자세한 사항은 아래 참고 포스팅을 참고 바란다.

 

jpa 메서드에 대해서 좀더 다뤄보려고 한다.

자료 출처는spring 공식 홈페이지 에서 docs에서 가져왔다.

 

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repository-query-keywords

 

Spring Data JPA - Reference Documentation

Example 119. Using @Transactional at query methods @Transactional(readOnly = true) interface UserRepository extends JpaRepository { List findByLastname(String lastname); @Modifying @Transactional @Query("delete from User u where u.active = false") void del

docs.spring.io

 

지원되는 쿼리 메서드 제목 키워드

find…By, 
read…By, 
get…By, 
query…By, 
search…By, 
stream…By
일반적으로 리포지토리 유형 , Collection또는 Streamable하위 유형 또는 와 같은 결과 래퍼 또는 기타 매장별 결과 래퍼 를 반환하는 일반 쿼리 메서드 
PageGeoResultsfindBy…findMyDomainTypeBy…
exists…By 프로젝션이 존재하며 일반적으로 boolean결과를 반환
count…By 숫자 결과를 반환하는 카운트 프로젝션
delete…By, 
remove…By
void결과 없음( ) / 삭제 횟수 를 반환하는 삭제 쿼리
…First<number>…, 
…Top<number>…
쿼리 결과를 첫 번째 결과로 제한
…Distinct…
고유한 결과만 반환하는 쿼리

 

지원되는 쿼리 메서드 조건자 키워드 및 수정자

AND And
OR Or
AFTER After, IsAfter
BEFORE Before,IsBefore
CONTAINING Containing, IsContaining, Contains
BETWEEN Between,IsBetween
ENDING_WITH EndingWith, IsEndingWith, EndsWith
EXISTS Exists
FALSE False,IsFalse
GREATER_THAN GreaterThan,IsGreaterThan
GREATER_THAN_EQUALS GreaterThanEqual,IsGreaterThanEqual
IN In,IsIn
IS Is, Equals, (또는 키워드 없음)
IS_EMPTY IsEmpty,Empty
IS_NOT_EMPTY IsNotEmpty,NotEmpty
IS_NOT_NULL NotNull,IsNotNull
IS_NULL Null,IsNull
LESS_THAN LessThan,IsLessThan
LESS_THAN_EQUAL LessThanEqual,IsLessThanEqual
LIKE Like,IsLike
NEAR Near,IsNear
NOT Not,IsNot
NOT_IN NotIn,IsNotIn
NOT_LIKE NotLike,IsNotLike
REGEX Regex, MatchesRegex, Matches
STARTING_WITH StartingWith, IsStartingWith, StartsWith
TRUE True,IsTrue
WITHIN Within,IsWithin

참고 포스팅

https://thenicesj.tistory.com/394

 

JpaRepository 관련 메서드

JPA 를 사용하게 되면 repository 에서 JpaRepository 를 상속 받아서 해당 repository의 메서드를 사용할수 있다. 대표적으로 findById 가 있는데 비슷한 메서드 들을 좀더 알아보기 위해 포스팅을 작성해본

thenicesj.tistory.com

 

반응형

'IT > Java' 카테고리의 다른 글

LinkedHashMap  (31) 2022.12.09
Flush에 대해  (31) 2022.12.08
JPA메서드 save 와 saveAndFlush 비교  (32) 2022.12.05
spring annotation-driven 시 bean name 중복(충돌,conflicts) 해결  (35) 2022.12.04
JPA 더티체킹(Dirty Checking) 이란?  (37) 2022.12.03

댓글