Spring Data JPA는 Repository 인터페이스 안에 Entity
관련 메소드를 정의하여 사용한다.
이때 Repository 인터페이스의 메소드 작성 규칙이 존재한다.
하나씩 살펴보자
식별자로 Entity 조회: findById
T findById(Id id)
:- 엔티티 객체 반환
- 만약 존재하지 않는 id면
null
반환
Optional<T> findById(Id id)
- 옵셔널 객체 만환
- 만약 존재하지 않는 id면
Option<null>
반환
Entity 삭제: delete
void delete(T entity)
- 엔티티 객체로 삭제
void delete(Id id)
- 아이디로 엔티티 조회 후 삭제
- 내부적으로
findById()
로 객체 탐색 후delete()
메소드 호출
- 만약 삭제할 엔티티가 존재하지 않으면
Exception
발생
Entity 저장: save
- 'void save(T entity)`
- 엔티티 저장 후 반환X
T save(T entity)
- 엔티티 저장 후 Entity 객체 반환
모든 엔티티 조회: findAll
List<T> findAll()
엔티티 갯수 조회: count
long count()
엔티티 존재 여부 조회: existsById
boolean existsById(Id id)
특정 필드 값으로 찾기: findBy필드명
List<T> findBy필드명(필드값)
- 하나의 필드 값으로 찾기
List<T> findBy필드명1And필드명2(필드값1, 필드값2)
- 여러개의 필드 값으로 찾기
++ 그외 다양한 메소드는 공식 문서 참조
Reference
'Back End > Spring && Spring Boot' 카테고리의 다른 글
[Spring Security] 인가 설정을 해줘도, 403 에러 발생하는 원인 (0) | 2024.06.12 |
---|---|
[Spring Boot / JPA] PK값을 자동으로 증가시키기 (0) | 2024.06.11 |
[Spring/JPA] JPA 개념 (0) | 2024.06.06 |
[Spring Boot] 스프링 부트에서 이미지 저장하기 (0) | 2024.06.05 |
[Spring Security] 세션 관련 설정하기 - 세션 만료 시간, 최대 세션 갯수, 세션 고정 설정 (0) | 2024.06.04 |