본문 바로가기
Spring JPA

[Spring Data Common] Repository, @NoRepositoryBean

by 에드박 2021. 8. 23.

Spring Data

Spring Data는 Spring 에서 SQL & NoSQL 저장소 지원 프로젝트의 묶음입니다.

 

Spring 에서 제공하는 여러 저장소 지원 프로젝트의 공통 프로젝트가 바로 Spring Data Common 입니다.

 


Spring Data Common

JpaRepository 인터페이스는 Spring Data Jpa 에서 제공하는 인터페이스

 

JpaRepository 가 상속받는 PagingAndSortingRepositorySpring Data Common 에서 제공하는 인터페이스

 

PagingAndSortingRepository부터는 Spring Data Common단의 인터페이스 이다.

 

  • PagingAndSortingRepository : 페이징, 정렬 지원하는 메서드 제공합니다.
  • CrudRepository : CRUD를 지원하는 메서드 제공합니다.
  • Repository : Marker 인터페이스. 마커용 외에 다른 기능은 없습니다.

@NoRepositoryBean

JpaRepository, PagingAndSortingRepository, CrudRepository 의 중간단계 Repository를 보면 @NoRepositoryBean 애노테이션이 붙어있습니다.

중간 Repository에 @NoRepositoryBean 애노테이션이 붙어있는 이유는 다음과 같습니다.

  • Repository 인터페이스를 상속받았기 때문에 Spring Data Jpa 또는 다른 저장소용 Repository가 실제 빈을 만들지 않도록 사용.
  • 실제 사용되는 Repository가 아님은 표시함.

참고자료 

 

 

 

댓글