반응형
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 |
댓글