inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링 데이터 JPA

스프링데이터 JPA 상속 관련 질문

463

김동현

작성한 질문수 38

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오) 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예

[질문 내용]

https://www.inflearn.com/questions/116505/%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4

위 내용을 읽고 이해한게 맞는지 질문하게 되었습니다.

11.jpg
SpringDataJpaMemberRepository 인터페이스가 JpaRepository와 MemberRepository 인터페이스를 상속받는데

"MemberRepository에 정의된 추상 메서드들을 SpringDataJpaMemberRepository에서 재정의할필요없이 JpaRepository 인터페이스에 기본적으로 정의되어 있는걸 상속받기 때문에 재정의 없이 바로 사용할 수 있다" 라고 이해했습니다.

그러나 만약 JpaRepository에서 정의된 기본 기능 외에 다른 기능이 필요하다면

SpringDataJpaMemberRepository 또는 부모인 MemberRepository에서 기능을 추가할 수 있는데,

SpringDataJpaMemberRepository에 추가하게 되면 스프링데이터jpa의 의존도가 올라가지만 스프링데이터jpa가 제공하는 편의기능으로 사용이 사용하기 편하게 되고

MemberRepository에 기능을 추가하게 되면 SpringDataJpaMemberRepository 에 간단히 내용을 적어 편하게 사용하는것보다는 복잡하지만, 대신에 스프링데이터Jpa의 의존도는 떨어진다.

라고 이해했는데 맞는지 확인해주실 수 있으신가요?? :)

java spring mvc spring-boot

답변 1

0

김영한

안녕하세요. 김동현님

여기서 질문의 핵심은 클라이언트 관점에서 봐야합니다.

클라이언트가 SpringDataJpaMemberRepository를 주입받게 되면 MemberRepository는 물론이고, 스프링 데이터 JPA 기술에도 의존적이게 됩니다.

반면에 클라이언트가 MemberRepository를 주입받게 되면 스프링 데이터 JPA 기술을 의존하지 않게 됩니다.

감사합니다.

..

0

76

2

Unused property.....

0

102

2

project JDK is misconfigured

0

132

2

외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석

0

83

2

단위/통합 테스트 버전충돌 문제

0

91

2

❗️springboot 4.0.2 버전 aspectj dependency 설정❗️

0

230

1

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

0

104

2

윈도우 build test오류 질문

1

103

2

테스트 관련 공부에 대한 조언을 얻고 싶습니다

0

101

2

테스트 실행 시 에러 질문

0

292

1

name을 통한 비교와 객체를 통한 비교

0

77

1

빌드 후 libs 없음

1

129

1

윈도우 gradlew.bat 에러

0

168

1

@PostMapping("/members/new")가 동작하지 않습니다

0

90

1

java static class와 kotlin class

0

79

1

스프링 DB연결

0

127

1

소요 시간

0

87

2

ddl.sql에 빨간 밑줄

1

102

2

welcome page 에러

0

183

3

잘 모르겠습니다.

0

164

2

fail을 똑같이 쳤는데 오류가 발생해요

0

157

2

index.html Welcome page

0

125

1

프로젝트 gradle-groovy ?

0

370

1

테스트코드 메서드명 한글

0

202

2