본문 바로가기

Spring/웹

CRUDRepository vs JPARepository 도대체 무슨 차이지?

 

CRUD Repository(왼) / JPARepository (오) 

API 문서를 살펴보면 각 repository에는 다음과 같은 Methods들이 포함되어있다.

 

보는 것과 같이 CRUD repo.에는 기본 CRUD에 관한 메서드를 정의하지 않고, 자동으로 사용할 수 있는 method들이 선언되어있다.

(단, ID를 통한 CRUD이므로, 다른 field를 이용하고 싶으면, 따로 선언해야 한다.)

 

JPA repo.의 경우 Batch 혹은 Paging과 같은 추가적인 기능을 제공해준다.

 

실제로, 많은 블로그 글들을 보게 되면, JPA repo.가 CRUD repo.의 손자뻘?이 되는 인터페이스라고 한다.

공식 문서 또한,

이와 같이 JPA repo가 CRUD, PagingAndSorting 등의 인터페이스를 상속받고 있음을 말하고 있다.