JpaRepositoy 지원 메소드
메소드 | 기능 |
<S extends T> save(S entity) | 엔티티 저장 및 수정 |
void delete(T entity) | 엔티티 삭제 |
count() | 엔티티 총 개수 반환 |
Iterable<T> findAll() | 모든 엔티티 조히 |
📍 연관 페이지
https://www.notion.so/4-Spring-Boot-Rest-CRUD-b666e9cbc99746048343b5ac0b464871?pvs=4
2024.05.25 - [Spring & Spring Boot] - [Spring Boot] Spring Data JPA (1)
Query method & JPQL snippet
Keyword | Sample | JPQL snippet |
And | findByLastnameAndFirstname | ... where x.lastname = ?1 and x.firstname = ?2 |
Or | findByLastnameOrFirstname | ... where x.lastname = ?1 or x.firstname = ?2 |
Is, Equals | findByFirstname findByFirstnameIs findByFirstnameEquals |
... 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 IsNotNull |
findByAge(Is)Null | ... where x.age is null |
NotNull | findByAge(Is)NotNull | ... where x.age not null |
Like | findByAgeFirstnameLike | ... where x.firstname like ?1 |
NotLike | findByAgeFirstnameNotLike | ... 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 %) |
OrderBy | findByAgeOrderByLastnameDesc | ... where x.age ?1 order by x.lastname desc |
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) |
javax.validation 어노테이션 예시
어노테이션 | 설명 |
@NotEmpty | NULL 체크 및 문자열의 경우 길이 0인지 검사 |
@NotBlank | NULL 체크 및 문자열의 경우 길이 0 및 빈 문자열(" ") 검사 |
@Length(min=, max=) | 최소, 최대 길이 검사 |
이메일 형식인지 검사 | |
@Max(숫자) | 지정한 값보다 작은지 검사 |
@Min(숫자) | 지정한 값보다 큰지 검사 |
@Null | 값이 NULL인지 검사 |
@NotNull | 값이 NULL이 아닌지 검사 |
* 내용 참고 : 책 '스프링부트 쇼핑몰 프로젝트 with JPA'
'Spring & Spring Boot' 카테고리의 다른 글
Spring Boot 쇼핑몰 프로젝트 | 로그인 기능 구현 (0) | 2024.08.01 |
---|---|
Spring Boot 쇼핑몰 프로젝트 | 회원가입 구현 (0) | 2024.07.31 |
spring boot 에서 h2 database 사용하기 (IntelliJ Ultimate) (0) | 2024.07.26 |
@Lombok 및 Entity 관련 어노테이션 (0) | 2024.07.25 |
[Spring Boot] 댓글 등록 · 수정 · 삭제 (0) | 2024.06.07 |