• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JPA페이징 공부를 하다가 궁금한점이 있습니다.

23.01.11 00:27 작성 조회수 3.93k

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
JPA를 이용한 페이징 처리를 공부하다가 문득 궁금한점이 생겼습니다. Page 및 Slice, Sort의 처리와 더불어 Repository의 기능을 통해서 값을 처리하는것을 배웠는데요.

그런데 만약 2개 이상의 테이블을 Join한 상태라면 페이징 처리를 어떤 방법으로 하는지 궁금합니다.

예를들어 Page<Member, Order> 이런식으로는 어렵고, 1개의 Repository 안에 직접적인 조인쿼리 방식으로 값을 불러와서 적용해야 할까요?

아니면 MappingTable을 이용하거나 Member와 Order라는 조인쿼리에서 실질적으로 보여주는 필드값들만 DTO형태로 만들어서 Page<MemberViewDTO> 이런식으로 적용해야되는것일까요?!

아니면 이럴때 적용하는것이 QueryDSL이라는것인지 궁금합니다.(아직 QueryDSL을 배우진 않았고, 들어만 봤습니다.)

 

2개의 테이블에서 뽑아낸 DB값들을 Page 처리하기위해선 어떠한 방식으로 할 수 있는지 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. 김정수님

활용2편을 떠올려보시면 됩니다. 결과적으로 fetch join이나, DTO로 뽑아오시면 됩니다.

감사합니다.