 
Spring Data JPA는 JPA를 쉽게 사용할 수 있게 만들어놓은 하나의 모듈이다.
Spring Data JPA는 Spring에서 제공하는 모듈 중 하나로, JPA를 더 쉽고 편하게 사용할 수 있도록 도와준다. → JPA를 한단계 추상화시킨 Repository 인터페이스 제공
Repository 인터페이스는 Hibernate와 같은 JPA구현체를 사용해서 구현한 클래스를 통해 사용된다.
 
Spring Data JPA에서는 JpaRepository 인터페이스를 구현하는 클래스를 자동으로 생성해준다.
Spring 서버가 시작될 때 JpaRepository 인터페이스를 상속받은 인터페이스가 자동으로 스캔이 되면, 해당 인터페이스의 정보를 토대로 자동으로 SimpleJpaRepository 클래스를 생성해 주고, 이 클래스를 Spring Bean 으로 등록한다.
따라서 인터페이스의 구현 클래스를 직접 작성하지 않아도 JpaRepository 인터페이스를 통해 JPA의 기능을 사용할 수 있다.
public interface myRepository extends JpaRepository<Memo, Long> {
}JpaRepository<Entity, pk 데이터 타입> 을 상속받는 interface로 선언한다.
Spring Data JPA에 의해 자동으로 Bean으로 등록이 된다.
Entity 클래스에 해당하는 db의 테이블과 연결되어 CRUD 작업을 하는 인터페이스가 된다.