4 CrudRepository는 JPA에서 제공하는 인터페이스로 이를 상속해 엔티티를 관리(생성, 조회, 수정, 삭제)할 수 있습니다. CrudRepository에 홑화살괄호(<>)를 붙이고 그 안에 다음과 같이 2개의 제네릭 요소를 받습니다.
• Article: 관리 대상 엔티티의 클래스 타입입니다. 여기서는 Article입니다.
• Long: 관리 대상 엔티티의 대푯값 타입입니다. Article.java 파일에 가 보면 id를 대푯값으로 지정했습니다. id의 타입은 Long이므로 Long을 입력합니다.
repository/ArticleRepository.java
package com.example.firstproject.repository;
import com.example.firstproject.entity.Article;
// CrudRepository 패키지 자동 임포트
import org.springframework.data.repository.CrudRepository;
public interface ArticleRepository extends CrudRepository<Article, Long> {
}
여기까지 작성하면 ArticleRepository는 CrudRepository가 제공하는 기능을 별도 정의 없이 그대로 사용할 수 있습니다. DB에 데이터를 생성하고(Create), 읽고(Read), 수정하고(Update), 삭제하는(Delete) 기본 동작을 추가 코드로 구현할 필요 없이 CrudRepository에서 상속받아 사용할 수 있습니다.