• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

간단한 질문있습니다!

21.04.05 22:45 작성 조회수 173

0

안녕하세요 영한님

야생형 코스 밟고 플젝 하나 끝내고 다시 기초를 다지러 왔습니다! 

역할과 구현 분리를 JPA에 적용해보면

public interface MemberRepository extends JpaRepository<Member, Long> {

}

여기서 MemberRepository는 '역할'이고 JpaRepository는 '구현'으로 보면 되는 건가요?

만약에 맞으면 그럼 MemberRepository에 새로운 역할을 부여하려면 JpaRepository말고 다른 것을 구현하면 되는 건가요?

아니면 기존의 JpaRepository에 내장되어 있는 메소드 말고 새로운 메소드를 작성하는 것이 새로운 역할을 부여하는 건가요?

답변 2

·

답변을 작성해보세요.

3

안녕하세요. 인철님

사실 이 부분은 애매합니다.

왜냐하면 JpaRepository도 인터페이스이기 때문이지요.

따라서 MemberRepository도 역할이고, JpaRepository도 역할입니다.

스프링 데이터 JPA의 구현인 SimpleJpaRepository가 바로 구현입니다.

스프링 데이터 JPA가 제공하는 JpaRepository를 사용하면 기본적인 데이터 접근 기능의 역할을 모두 얻을 수 있습니다. 대신에 꼭 스프링 데이터 JPA를 사용해만 합니다. 결국 기술에 종속적이 됩니다. 대신에 편리하게 스프링 데이터 JPA가 제공하는 구현된 기능들을 사용할 수 있다는 장점이 있습니다.

감사합니다.

1

송인철님의 프로필

송인철

질문자

2021.04.07

답변 감사드립니다!