출처: 점프 투 스프링부트
데이터 처리를 위해서는 실제 데이터베이스와 연동하는 JPA 리포지토리가 필요하다.
Entity에 의해 생성된 데이터베이스 테이블에 접근하는 메서드들 (예 : findById, save 등)을 사용하기 위한 인터페이스이다.
Spring Data JPA에서 제공하는 인터페이스로, JPA를 사용하여 데이터베이스를 조작하기 위한 메서드들을 제공한다.
복잡한 JDBC 코드를 작성하지 않아도 간단한 DB와의 데이터 접근 작업을 처리할 수 있다.
리포지토리가 JpaRepository를 상속받도록 함으로써 기본적인 동작이 가능해진다. JpaRepository를 상속할 때는 제네릭스 타입으로 <대상이 되는 엔티티의 타입, 해당 엔티티의 PK의 타입>을 지정해야 한다.
JpaRepository를 상속한 클래스는 spring JPA가 자동으로 구현한다.
자동으로 구현된 클래스에는 아래와 같은 기본 메서드를 포함한다.
전체 목록을 조회
List<>를 리턴
id에 해당하는 엔티티 조회
Optinal<> 리턴
주어진 엔티티를 저장하거나 업데이트
엔티티 삭제
id에 해당하는 엔티티를 삭제
엔티티의 전체 수를 반환
id에 해당하는 엔티티가 존재하는지 여부를 확인