강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

tmdgk4902님의 프로필 이미지
tmdgk4902

작성한 질문수

실전! 스프링 데이터 JPA

순수 JPA 기반 리포지토리 만들기

MemberJpaRepository, MemberRepository 다형성 관련 질문

작성

·

231

0

안녕하세요! 강의 핵심 내용은 아니지만 궁금한게 생겨서 질문드립니다 토이프로젝트를 진행중인데 순수 jpa만 활용한 MemberJpaRepository를 먼저 사용하고 나중에 스프링 데이터 jpa를 활용한 MemberRepository 로 바꾸고 싶은데요

 

스프링 핵심원리편에서 학습했던 것처럼 다형성을 활용해서 두 리포지토리를 유연하게 바꾸고 싶은데, 그러려면  MemberJpaRepository와 MemberRepository 둘 다 같은 인터페이스를 구현해야 되는 걸로 알고있어서요 이 경우에서는 일단 BasicRepository 인터페이스를 직접 만들고 이걸 MemberJpaRepository와 MemberRepository 둘 다 동시에 상속받게 하면 될까요? MemberRepository는 BasicRepository에 추가로 JpaRepository를 상속받으면서요..!

퀴즈

순수 JPA 리포지토리 구현과 비교했을 때, Spring Data JPA 사용의 주요 장점은 무엇일까요?

복잡한 SQL 쿼리를 직접 작성할 필요가 전혀 없습니다.

기본적인 CRUD 작업을 위한 구현 코드를 직접 작성할 필요가 없습니다.

트랜잭션 관리를 수동으로 처리하여 더 세밀한 제어가 가능합니다.

엔티티의 변경 감지(Dirty Checking) 기능이 새롭게 추가됩니다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. tmdgk4902님

이 경우 조금 다른 구조로 가야합니다.

Controller -> Service -> 순수 Repository(JPA와 관계 없음) -> JpaRepository

여기서 순수 Repository의 구현체가 JpaRepository 참조해서 사용한다고 생각하시면 됩니다.

조금 번거롭지만 이런 구조로 가셔야 원하는 모양을 만드실 수 있습니다.

감사합니다.

tmdgk4902님의 프로필 이미지
tmdgk4902
질문자

답변 감사합니다!

tmdgk4902님의 프로필 이미지
tmdgk4902

작성한 질문수

질문하기