[SpringBoot]- JpaRepository 인터페이스

ACAI BERRY DEVELOVER·2023년 6월 17일
0
post-thumbnail

Spring Data JPA는 JPA의 구현체인 Hibernate를 이용하기 위한 여러 API를 제공한다.
그 중에서 개발자가 제일 많이 사용할 것이 JpaRepository라는 인터페이스이다.
Spring Data JPA에는 여러 종류의 인터페이스의 기능을 통해 JPA관련 작업을 별도의 관리 없이 처리할 수 있게 지원한다.
예를 들어 CRUD 작업이나 페이징, 정렬 등의 처리도 인터페이스의 메서드를 호출하는 형태로 처리하는데 기능에 따라서 상속 구조로 추가적인 기능을 제공한다.

							Repository
                            	
                                ⬆️
                                
                           CrudRepository
                           
                           		⬆️
                                
                       PagingAndSortRepository
                       
                       			⬆️
                                
                           JpaRepository
                           
                           
  • 일반적인 기능만을 이용할 땐 CrudRepository를 사용하는 것이 좋다.
  • 모든 JPA관련 기능을 사용하고 싶을 때는 JpaRepository를 이용한다.
  • 특별한 경우가 아니라면 JpaRepository를 이용하는 것이 가장 무난하다.

JpaRepository 사용하기

  • JpaRepository는 인터페이스고, Spring Data JPA는 이를 상속하는 인터페이스를 선언하는 것만으로도 모든 처리가 끝난다.
  • 실제 동작 시에는 스프링이 내부적으로 해당 인터페이스에 맞는 코드를 생성하는 방식을 이용한다.
  • JpaRepository를 사용할 때는 엔티티의 타입 정보(클래스 타입)과 @Id의 타입을 지정해야한다.
  • Spring Data JPA는 인터페이스 선언만으로도 자동으로 스프링 빈으로 등록된다.
  • 스프링이 내부적으로 인터페이스 타입에 맞는 객체를 생성해서 빈으로 등록한다.
                		
profile
쓸때 대충 쓰지 말고! 공부하면서 써!

0개의 댓글