Close
Close full mode
logo만렙 개발자 키우기

(4) 사용자 정의 리포지토리 구현

Git RepositoryEdit on Github
Last update: 9 months ago by nowwaterReading time: 2 min

스프링 데이터 JPA 로 리포지토리 개발 시 인터페이스만 정의하고 구현체는 만들지 않는다.

하지만 다양한 이유로 메소드를 직접 구현해야 할 때도 있다.

=> 리포지토리 직접 구현 시 공통인터페이스가 제공하는 기능까지 모두 구현해야함.

이 경우 스프링 데이터 JPA는 필요한 메소드만 구현할 수 있는 방법을 제공한다.

1. 사용자 정의 인터페이스를 작성

직접 구현할 메소드를 위한 사용자 정의 인터페이스를 작성한다.

public interface MemberRepositoryCustom {
public List<Member> findMemberCustom();
}

2. 사용자 정의 인터페이스를 구현한 클래스를 작성해야 한다.

이름 짓는 규칙

리포지토리 인터페이스 이름 + Impl -> 스프링 데이터 JPA가 사용자 정의 구현 클래스로 인식

public class MemberRepositoryImpl implements MemberRepositoryCustom {
@Override
public List<Member> findMemberCustom(){
... // 사용자 정의 구현
}
}

3. 리포지토리 인터페이스에서 사용자 정의 인터페이스를 상속

public interface MemberRepository extends JpaRepository<Member, Long>, MemberRepositoryCustom {
}
🚀 JPA — Previous
(3) 쿼리 메소드 기능
Next — 🚀 JPA
(5) WEB 확장, 구현체