본문 바로가기
Tech/JPA

JpaRepositry vs CrudRepository 어떤 것을 써야할까?

반응형

참고: http://jtuts.com/2014/08/26/difference-between-crudrepository-and-jparepository-in-spring-data-jpa/

 

Difference between CrudRepository and JpaRepository in Spring Data JPA - JTuts

This article explains the differences between the Spring Data JPA CrudRepository and JpaRepository interfaces.

jtuts.com


 

CrudRepository이란?

  • 기본적인 CRUD 기능을 제공합니다 
  • org.springframework.data.repository.CrudRepository 패키지 소속
  • 즉 Spring Data 코어 라이브러리 소속이다 ( 특정 인프라스트럭처에 의존하는 것이 아닌 범용 라이브러리 )

 

JPARepository이란?

  • JPA에 특화된 기능을 제공합니다
  • 지속성 컨텍스트 플러시 및 배치에서 레코드 삭제와 같은 JPA 관련 메소드를 제공합니다.
  • 상속 구조
    • CrudRepository(Spring Data 범용)
    • -> PagingAndSortingRepository(Spring Data 범용, 페이지 매김 및 정렬을 수행하는 메소드 제공)
    • -> JpaRepository(Spring Data JPA 특화)

 

언제 어떤 걸 써야할까?

  • 일반적으로  정렬 및 페이징이 필요한지 여부에 따라 CrudRepository  또는  PagingAndSortingRepository 를 사용하는 것이 가장 좋다
  • JpaRepository는 JPA 기술에 레포지토리가 의존하기 때문에 피해야한다,
  • 심지어 대부분의 경우에 JpaRepository에서만 제공하는 별도의 방법을 사용하지 않을 확률이 높다
728x90
반응형

'Tech > JPA' 카테고리의 다른 글

EntityManager 라이프사이클  (0) 2021.10.01
연관관계 조회 쿼리를 최적화해보자  (0) 2021.09.23
Entity에 Serializable 구현해야할까?  (0) 2021.09.21
JPA Batch 연산 적용  (0) 2021.09.19
JpaRepository Query 작성  (0) 2021.09.14