본문 바로가기
공부/Spring

순수 JPA 기반 리포지토리와 차이점을 확인해보자

by JERO__ 2022. 8. 25.

 

순수 JPA 기반 리포지토리를 먼저 알아보자

EntityManager를 통해 persist와 JPQL 등을 사용한다.

 

스프링 데이터 JPA를 사용하면 어떻게 될까?

  • 인터페이스이며 구현체가 없다
    • 구현 클래스(Member)를 보고 proxy 클래스를 만든다.
    • 스프링 데이터 JPA가 구현클래스를 만들어준다.
  • @Repository 애노테이션을 붙이지 않아도 된다.
public interface MemberRepository extends JpaRepository<Member, Long> {  // 타입, PK
}

 

만약 스프링데이터 JPA에서 제공되지 않는 함수를 작성한면?

  • username으로 찾은 List<Member>를 찾고싶다면 어떻게 될까? 다음과 같은 예시는 실제로 JPA에서 제공이된다. 이를 쿼리메소드 기능 이라고 한다.
public interface MemberRepository extends JpaRepository<Member, Long> {
	List<Member> findByUsername(String username);
}

 

'공부 > Spring' 카테고리의 다른 글

@Query를 통해 DTO로 조회해보자  (0) 2022.08.25
스프링 데이터 JPA에서 쿼리 메소드 기능을 알아보자  (0) 2022.08.25
[JPA] 페치 조인  (0) 2022.07.18
[JPA] 쿼리 문법  (0) 2022.07.18
[JPA] 값 타입  (0) 2022.07.02

댓글