[JPA] Spring Data JPA 기초 (1) -Repository 종류

이혜지·2020년 10월 14일
0

Spring

목록 보기
7/15
post-thumbnail

Spring Data JPA 에 대해서 알아보자

JPA 처리를 담당하는 Repository는 기본적으로 4가지가 있다.

Repository <T,ID>
CrudRepository <T,ID>
PagingAndSotringRepository <T,ID>
JpaRepository <T,ID>

T는 Entity의 타입클래스이고 ID는 P.K 값의 Type이다.

CrudRepository는 관리되는 엔티티 클래스에 대해 정교한 CRUD 기능을 제공한다.

CrudRepository

public interface CrudRepository<T, ID extends Serializable>
	extends Repository<T, ID>{
    
    <S extends T> S save(S entity);
    
    Optional<T> findById(ID primaryKey);
    
    Iterable<T> findAll();
    
    long count();
    
    void delete(T entity);
    
    boolean existsById(ID primaryKey);
    
    // ..more functionality omitted.
    }

PagingAndSortingRepository

public interface PagingAndSortingRepository<T, ID extends Serializable> 
	extends CrudRepository<T, ID> { 
    
    Iterable<T> findAll(Sort sort); 
    
    Page<T> findAll(Pageable pageable); 
   }
// page size 20으로 된 전체 목록에서 두번째 페이지를 아래아 같이 쉽게 가져올 수 있다.

PagingAndSortingRepository<User, Long> repository = // … get access to a bean

Page<User> users = repository.findAll(new PageRequest(1, 20));
profile
공유 문화를 지향하는 개발자입니다.

0개의 댓글