Skip to Content
Suffering builds character
아카이브19.spring Data특징4.Repository를 확장한 서브 인터페이스

4.Repository를 확장한 서브 인터페이스

스프링은 기본적으로 이 Repository<T, ID> 인터페이스를 기반으로 하여 각각의 역할에 맞게 다음과 같은 다양한 하위 인터페이스들도 확장(extends)해서 제공함

1. Repository<T, ID>를 확장한 하위 인터페이스

각각의 인터페이스들은 추상화 수준에 따라 findAll(), findById() 등의 메서드 등이 정의되어 있음

1-1.CrudRepository

기본적인 CRUD 스펙이 정의되어 있는 인터페이스

CRudRepository.java
// CrudRepository 인터페이스는 Repository 인터페이스를 확장하였음 public interface CrudRepository<T, ID> extends Repository<T, ID> { <S extends T> S save(S entity); // (1) 인수로 전달받은 entity 저장 Optional<T> findById(ID primaryKey); // (2) 인수로 전달받은 id에 해당하는 entity 조회 Iterable<T> findAll(); // (3) 전체 엔티티 조회 long count(); // (4) 총 entity 개수 조회(long 타입) void delete(T entity); // (5) 전달받은 entity 제거 boolean existsById(ID primaryKey); // (6) 전달받은 id에 해당하는 엔티티가 존재하는지? // … more functionality omitted. }

1-2.PagingAndSortingRepository

페이징, 정렬 처리에 대한 스펙이 정의되어 있는 인터페이스

1-3. MongoRepository

MongoDB(No SQL) 기능을 사용할 수 있는 인터페이스

Repository<T,ID> 인터페이스

Last updated on