CRUDRepository랑 JPARepository 차

이규훈·2023년 9월 25일

CRUDRepositoryJpaRepository는 둘 다 Spring Data JPA가 제공하는 인터페이스입니다. 두 인터페이스 모두 데이터 액세스 계층의 코드를 간결하게 만들기 위해 제공되지만, 제공하는 기능 및 상속 관계에 차이가 있습니다.

  1. CRUDRepository:

    • 주요 기능: 기본 CRUD(Create, Read, Update, Delete) 작업을 지원합니다.
    • 메서드 예:
      • save(): 엔티티 저장 또는 업데이트.
      • findOne(): 주어진 ID에 해당하는 엔티티 조회.
      • findAll(): 모든 엔티티 조회.
      • delete(): 엔티티 삭제.
    • 주로 기본 CRUD 작업에 중점을 둔 데이터 액세스를 위해 사용됩니다.
  2. JpaRepository:

    • CRUDRepositoryPagingAndSortingRepository를 확장(상속)하므로, CRUD 작업 및 페이징 및 정렬 관련 메서드를 모두 포함합니다.
    • 추가적으로 JPA 관련 메서드(예: flush(), deleteInBatch(), getOne())를 제공하여 JPA에 특화된 작업을 수행할 수 있습니다.
    • JpaRepository를 사용하면, 페이징, 정렬 및 JPA의 다른 고급 기능을 쉽게 사용할 수 있습니다.

결론:

  • CRUDRepository는 기본적인 CRUD 작업을 수행하는데 중점을 둔 인터페이스입니다.
  • JpaRepositoryCRUDRepository의 모든 기능에 추가로 JPA 관련 고급 기능 및 페이징, 정렬 기능까지 제공하는 인터페이스입니다.

어떤 것을 사용할지는 애플리케이션의 요구 사항과 개발자의 선호에 따라 달라집니다. 하지만 대부분의 경우 JpaRepository를 사용하면 더 다양한 기능을 제공받을 수 있습니다.

profile
개발취준생

0개의 댓글