Spring Data Repository

2023. 7. 27. 17:57·Back/01. Spring
반응형

※ Repository

 

1. CrudRepository

Crud 기능 제공

Create, Read, Update, Delete 

@NoRepositoryBean
public interface CrudRepository<T, ID> extends Repository<T, ID> {

	<S extends T> S save(S entity);

	<S extends T> Iterable<S> saveAll(Iterable<S> entities);

	Optional<T> findById(ID id);

	boolean existsById(ID id);

	Iterable<T> findAll();

	Iterable<T> findAllById(Iterable<ID> ids);

	long count();

	void deleteById(ID id);

	void delete(T entity);

	void deleteAllById(Iterable<? extends ID> ids);

	void deleteAll(Iterable<? extends T> entities);

	void deleteAll();
}

 

2. PagingAndSortingRepository

CrudRepository 상속 인터페이스

페이징 처리를 위한 메서드 제공

public interface PagingAndSortingRepository<T, ID extends Serializable>
      extends CrudRepository<T, ID> {

      Iterable<T> findAll(Sort sort);

      Page<T> findAll(Pageable pageable);
}

 

3. JpaRepository

ㄴㄴㄴ

@NoRepositoryBean
public interface JpaRepository<T, ID> extends ListCrudRepository<T, ID>, ListPagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> {

        void flush();

        <S extends T> S saveAndFlush(S entity);

        <S extends T> List<S> saveAllAndFlush(Iterable<S> entities);

        @Deprecated
        default void deleteInBatch(Iterable<T> entities) {
            deleteAllInBatch(entities);
        }

        void deleteAllInBatch(Iterable<T> entities);

        void deleteAllByIdInBatch(Iterable<ID> ids);

        void deleteAllInBatch();

        @Deprecated
        T getOne(ID id);

        @Deprecated
        T getById(ID id);

        T getReferenceById(ID id);

        @Override
        <S extends T> List<S> findAll(Example<S> example);

        @Override
        <S extends T> List<S> findAll(Example<S> example, Sort sort);
}

 

반응형

'Back > 01. Spring' 카테고리의 다른 글

[Spring] Spring Security의 핵심 개념  (1) 2025.07.27
웹 보안의 주요 위협과 공격 유형  (0) 2025.07.20
[SPRING] IOC & DI  (0) 2025.04.10
JPA란?  (0) 2025.03.18
'Back/01. Spring' 카테고리의 다른 글
  • [Spring] Spring Security의 핵심 개념
  • 웹 보안의 주요 위협과 공격 유형
  • [SPRING] IOC & DI
  • JPA란?
물떡망대
물떡망대
  • 물떡망대
    망망대해 개발 기록
    물떡망대
  • 전체
    오늘
    어제
    • 분류 전체보기 (29)
      • Front (2)
        • 01. JavaScript & TypeScript (1)
        • 02. React (1)
        • 03. Html & Jsp (0)
        • 04. CSS (0)
      • Back (18)
        • 01. Spring (5)
        • 02. Java (6)
        • 03. SQL (3)
        • 04. API 설계 (4)
        • 05. MSA & 아키텍처 (0)
      • SERVER & Infra (6)
        • 01. Linux & Ngnix (3)
        • 02. Docker & Kubernetes (2)
      • DEV & Collaboration (2)
        • 01. Git & GitHub (2)
        • 02. 코딩 컨벤션 (0)
      • 취미공간 (0)
        • 독서 공간 (0)
        • 그림 및 휴식공간 (0)
        • 여행일지 (0)
      • Study (1)
        • 자격증 (0)
        • CS 지식 (0)
        • 코딩테스트 (0)
        • 프로젝트 (0)
        • 개인 포트폴리오 (0)
  • 블로그 메뉴

    • 홈
  • 링크

    • GitHub
    • Naver Blog
  • 공지사항

  • 인기 글

  • 태그

    JPQL
    서버
    백엔드
    리눅스
    docker
    프론트엔드
    권한
    Backend
    풀스택
    오버 플로우
    JPA
    개발자
    API
    교차출처요청
    암호화 계층
    SQL 권한
    spring
    SQL
    쿠버네티스 도커 차이
    서버 개발자
    쿠버네티스 도커
    HTTP
    풀스택 개발자
    api 요청
    백엔드 개발자
    tibero
    restless api
    Java
    Linux
    ORM
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
물떡망대
Spring Data Repository
상단으로

티스토리툴바