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) 기능을 사용할 수 있는 인터페이스
Last updated on