본문 바로가기
IT/Java

JpaRepository 관련 쿼리메서드

by 성준하이 2022. 11. 16.
반응형

JPA 를 사용하게 되면 repository 에서 JpaRepository 를 상속 받아서 해당 repository의 메서드를 사용할수 있다.

 

대표적으로 findById 가 있는데 비슷한 메서드 들을 좀더 알아보기 위해 포스팅을 작성해본다.

 

설명 Query JPA
컬럼 1개 조회 select * from Table where id = 1; findById
컬럼 여러개 조회 select * from Table where id = 1 and name = "name"; findByIdAndName
중복제거 조회 select distinct * from Table; findDistinctBy
상위 10개 조회 select * from Table where rownum <10; findTop10By
정렬 조회 select * from Table where id = 1 order by id desc; findByIdOrderByIdDesc
카운트 조회 select count(*) from Table; countBy
삭제 delete from Table where id = 1; deleteBy

 

 

기타

Or findByLastnameOrFirstname where x.lastname = ?1 or x.firstname = ?2
Is, Equals findByFirstnameIs/Equals where x.firstname = ?1
Between findByStartDateBetween where x.startDate between ?1 and ?2
LessThan findByAgeLessThan where x.age < ?1
LessThanEqual findByAgeLessThanEqual where x.age <= ?1
GreaterThan findByAgeGreaterThan where x.age > ?1
GreaterThanEqual findByAgeGreaterThanEqual where x.age >= ?1
After findByStartDateAfter where x.startDate > ?1
Before findByStartDateBefore where x.startDate < ?1
IsNull, Null findByAgeIsNull/Null where x.age is null
IsNotNull, NotNull findByAgeIsNotNull/NotNull where x.age not null
Like findByFirstnameLike where x.firstname like ?1
NotLike findByFirstnameNotLike where x.firstname not like ?1
StartingWith findByFirstnameStartingWith where x.firstname like ?1 (parameter bound with appended %)
EndingWith findByFirstnameEndingWith where x.firstname like ?1 (parameter bound with prepended %)
Containing findByFirstnameContaining where x.firstname like ?1 (parameter bound wrapped in %)
Not findByLastnameNot where x.lastname <> ?1
In findByAgeIn(Collection<Age> ages) where x.age in ?1
NotIn findByAgeNotIn(Collection<Age> ages) where x.age not in ?1
True findByActiveTrue() where x.active = true
False findByActiveFalse() where x.active = false
IgnoreCase findByFirstnameIgnoreCase where UPPER(x.firstname) = UPPER(?1)

 

반응형

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

Spring 6.0 / SpringBoot3.0 에 대해  (29) 2022.11.20
공백 제거 trim() / strip()  (32) 2022.11.19
Java 와 Jakarta  (37) 2022.11.13
이클립스 workspace 저장위치 확인 및 바꾸기  (46) 2022.11.09
@Controller와 @RestController  (45) 2022.11.07

댓글