Repository의 상속 관계와 각 기능들

2023. 11. 25. 12:39·Spring Boot
목차
  1. Repository를 상속받으면서 
  2. 어떠한 기능들이 추가 되었을까?
  3. 각 Repository가 제공하는 기능
  4. Repository
  5. CrudRepository
  6. PagingAndSortingRepository
  7. JpaRepository

 

 

 


 

Repository를 상속받으면서 

어떠한 기능들이 추가 되었을까?

 

 


 

 

 

 

 

위의 그림은 Repository들의 상속 관계이다.

 

 

 

각 Repository가 제공하는 기능

 

Repository

기본적으로 제공하는 메서드가 없어서 개발자가 직접 해당 기능들을 정의하고 사용해야 한다.

즉, 비어있는 인터페이스이다.

 

CrudRepository

기본적인 CRUD(Create, Read, Update, Delete) 작업을 수행하는 메서드들을 제공한다.

 

 

대표적인 메서드

  • count()   :   저장된 엔티티의 총개수를 반환
  • save(S entity)   :   entity를 저장하거나 업데이트 (이미 존재하는 entity인 경우 업데이트 아니면 새로 저장)
  • findById(ID id)   :   해당 id를 가진 entity를 조회한다.
  • findAll()   :   저장된 모든 entity를 조회한다.
  • delete(T entity)   :   해당 entity를 삭제한다.

 

 

PagingAndSortingRepository

CrudRepoeitory를 확장하여 페이징과 정렬 기능을 추가로 제공한다.

 

 

대표적인 메서드

  • findAll(Pageable pageable)   :   페이징 된 형태로 모든 entity를 조회한다.
  • findAll(Sort sort)   :   정렬된 순서로 모든 entity를 조회한다.

 

 

JpaRepository

PagingAndSortingRepository를 확장하여 기존 기능을 보완하고, JPA에 관련된 기능들을 추가로 제공한다.

 

 

대표적인 메서드

  • flush()   :   영속성 콘텍스트의 변경사항을 즉시 DB에 반영한다.
  • saveAndFlush(S entity)   :   entity를 저장하고 즉시 DB에 반영한다.
  • deleteInBatch(Iterable<T> entities)   :   여러 entity를 한 번에 삭제한다.
  • deleteAllInBatch()   :   모든 entity를 한 번에 삭제한다.

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'Spring Boot' 카테고리의 다른 글

IntelliJ에서 한글이 깨져서 출력 되는 현상 고치기  (0) 2023.11.25
H2 DB를 웹 콘솔에서 접근할 수 있게 설정하기  (0) 2023.11.25
웹 페이지에 출력하는 한글 깨짐 현상 해결하기  (0) 2023.11.24
Spring Boot에서 Lombok 사용하기 위한 준비 과정 [라이브러리, 플러그인]  (0) 2023.11.24
Spring Boot에서 mustache를 사용하기 위한 준비 과정 [라이브러리, 플러그인]  (0) 2023.11.24
  1. Repository를 상속받으면서 
  2. 어떠한 기능들이 추가 되었을까?
  3. 각 Repository가 제공하는 기능
  4. Repository
  5. CrudRepository
  6. PagingAndSortingRepository
  7. JpaRepository
'Spring Boot' 카테고리의 다른 글
  • IntelliJ에서 한글이 깨져서 출력 되는 현상 고치기
  • H2 DB를 웹 콘솔에서 접근할 수 있게 설정하기
  • 웹 페이지에 출력하는 한글 깨짐 현상 해결하기
  • Spring Boot에서 Lombok 사용하기 위한 준비 과정 [라이브러리, 플러그인]
아-니지
아-니지
아-니지
성장 기록.zip
아-니지
  • 분류 전체보기 (266)
    • Language (76)
      • Java (39)
      • Kotlin (0)
      • HTML (10)
      • CSS (17)
      • Java Script (10)
    • JPA (11)
    • Spring Boot (27)
    • QueryDSL (2)
    • SQL [DB] (8)
    • Docker (29)
    • AWS (19)
    • Git & GitHub (17)
    • DevOps (1)
    • Terminology (14)
    • CS (50)
      • 컴퓨터 구조 (12)
      • 운영체제 (11)
      • 자료구조 (11)
      • 알고리즘 (0)
      • 네트워크 (16)
    • Record (7)
      • 알고리즘 풀이 (4)
      • 자바 메서드 (3)
    • Self Q&A (5)
hELLO· Designed By정상우.v4.5.3
아-니지
Repository의 상속 관계와 각 기능들

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.