데이터베이스에 데이터를 저장하거나 조회하는 등의 처리를 하기 위해서는 실제 데이터베이스와 연동하는 JPA 리포지토리가 필요하다.
리포지토리는 엔티티에 의해 생성된 데이터베이스 테이블에 접근하기 위한 findAll, save와 같은 메서드들을 사용할 수 있도록 하는 인터페이스이다. 리포지토리에 CRUD(Create, Read, Update, Delete)를 어떻게 처리할지를 정의한다.
리포지토리를 생성할 때에는 JpaRepository 인터페이스를 상속한다. JpaRepository를 상속할 때는 제네릭스 타입으로 <Entity, Integer> 처럼 리포지토리의 대상이 되는 엔티티의 타입과 해당 엔티티의 PK의 속성 타입을 지정해야 한다.