Daily Notebook

[JPA] CrudRepository vs JpaRepository

by 배부른코딩로그
💡 CrudRepository, JpaRepository 모두 인터페이스로 무엇이 다른지 정리해보자!

목표

  • CrudRepository, JpaRepository의 차이점을 설명할 수 있다.
  • 상황에 따라 CrudRepository, JpaRepository 구분하여 사용할 수 있다.

 

CrudRepository vs JpaRepository

위 상속관계를 살펴보면, 최상위 부모인 Repository를 CrudRepository가 상속받아 확장시키고, 이를 PagingAndSortingRepository가, 그리고 이를 또 JpaRepository가 상속받아 확장시킨 것을 볼 수 있다.

 

각각 소스코드를 IDEA을 통해 상세히 살펴볼 수 있지만, 구조상으로 JpaRepository의 구현체들이 당연히 더 많을 것이다. 즉, 사용하고자 하는 도메인이 어느 정도의 수준까지 필요한가에 따라 판단하여 사용이 가능하다.

 

  • CrudRepository: CRUD 관련 기능을 제공. (간단한 CRUD만 필요한 경우)
  • PagingAndSortingRepository: 페이징과 솔팅을 추가로 제공. (두 기능이 필요한 경우)
  • JpaRepository: 위 기능은 물론 JPA 관련 특화된 기능들을 제공. (복잡한 JPA 기능이 필요한 경우)

 

필자는 JPA 프로젝트인 경우, 통일성을 위해 JpaRepository만 사용하긴 한다..

 

Last updated, 2021. 7 . 9

 

반응형
블로그의 프로필 사진

블로그의 정보

배부른코딩로그

배부른코딩로그

활동하기