public interface MemberRepositoryCustom {
List<Member> findMemberCustom();
}
@RequiredArgsConstructor
public class MemberRepositoryImpl implements MemberRepositoryCustom{
private final EntityManager em;
@Override
public List<Member> findMemberCustom() {
return em.createQuery("select m from Member m").getResultList();
}
}
// or
public class MemberRepositoryCustomImpl implements MemberRepositoryCustom{
}
사용자 정의 인터페이스를 생성 후 인터페이스를 상속 받은 클래스에서 정의한 기능을 구현해줘야 한다.
Impl
(스프링 데이터 JPA가 인식해서 스프링 빈으로 등록)Impl
public interface MemberRepository extends JpaRepository<Member, Long> , MemberRepositoryCustom{
}
List<Member> result = memberRepository.findMemberCustom()