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

taeu kim님의 프로필 이미지
taeu kim

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

주문 조회 V4: JPA에서 DTO 직접 조회

OrderQueryRepository를 따로 만드는 이유

작성

·

342

0

controller가 repository를 참조하게 되어서라고 하셨는데 ㅌ제가 배경지식이 없어 ㅠㅠ잘 이해가 가지 않습니다.. 조금더 구체적으로 설명 가능할까요?

  1. 왜 controller가 repository를 참조하게 되는지 이해가 되지 않습니다.

  2. OrderQueryRepository를 따로 떼어내면 1번의 문제가 왜 해결되는지요?

 

답변 1

2

안녕하세요. taeu kim님, 공식 서포터즈 OMG입니다.

OrderQueryRepository를 따로 만드는 이유?

=>

본 강의 1분 40초부터 설명하고 계신대요

OrderRepository는 OrderEntity를 조회하는 용도이고

query쪽 (OrderQueryRepository)은 API에 의존관계가 있는 Repository로 분리 해놓으신 것입니다.

Entity를 찾을 때는 OrderRepository를 사용하고, 특정화면에 Fit한 쿼리(API)를 사용할 때는 OrderQueryRepository를 사용하기 위함입니다.

위의 영한님 설명을 바탕으로 OrderRepository와 OrderQueryRepository를 비교해보시면 이해하시는 데에 도움이 될 것 같습니다.

-
1. 실용적인 측면에서 Controller에서 Service를 바라보지않고 바로 Repository를 바라보도록 설계하기도 합니다.

https://www.inflearn.com/questions/15024

https://www.inflearn.com/questions/30618 (3번답변)

-

2.
1.과는 별개라고 생각하는데, 영한님이 2번 질문에 대한 내용을 설명하신 부분을 알려주실 수 있을까요? 어떤 의도로 설명하셨는지 직접 들어봐야 알 것 같습니다.

-

감사합니다.

taeu kim님의 프로필 이미지
taeu kim

작성한 질문수

질문하기