순수 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 |
댓글