인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

작성자 없음

작성자 정보가 삭제된 글입니다.

실전! Querydsl

Querydsl 지원 클래스 직접 만들기

Querydsl 페이징, 정렬 질문

작성

·

558

·

수정됨

0


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

[질문 내용]
페이징, 정렬에 대해서 질문이 있습니다.

 

1.

이렇게 했을 때 페이지 처리와 정렬이 되었습니다.

2.

OrderSpecifier로 변환

 

3.

Querydsl4RepositorySupport

 

질문 1 : 1~3의 차이점이 궁금합니다.

질문 2 : 상황에 따라서 다르겠지만 1~3중 실무에서는 주로 어떤 것을 사용하나요?

질문 3 : 1번과 3번의 차이는 1번으로 했을 때 루트 엔티티 범 위를 넘어가는 동적 정렬 기능이 필요할 때 orderBy에는 한계점이 있어서 Querydsl4RepositorySupport을 선택해서 사용하는 것인가요?

질문 4 : Querydsl4RepositorySupport에서 fetchCount들이 있는데 곧 지원이 끊기는데 여기서는 어떻게 변화시켜야할지 잘 모르겠습니다...

질문 5

이렇게 사용했을 때 정렬을 사용하려고 하면 .orderBy를 사용하면 되는건가요? 아니면 다른 방법이 있나요?

답변 2

0

질문 1.

스프링 데이터 JPA 에서 제공하는 PageRequest.of(0, 3, Sort.by(Sort.Direction.DESC, "username")) 이렇게 하는 정렬이 루트 테이블이 아니라 조인대상테이블의 컬럼을 기준으로 정렬할 경우, 정상적으로 동작하지 않는다는 얘기로 알아들었는데 맞나요?

질문 2.

Querydsl 에서

queryFactory

.selectFrom(member)

.orderBy(member.age.desc)

.fetch();

이런식으로 하는 정렬은 스프링 데이터 JPA 와는 달리 조인 대상 테이블의 컬럼을 기준으로 정렬해도 문제없이 동작하는 건가요?

질문 3.

질문 1이 맞는 말이고, 질문 2가 맞는 말이라면, JPA 를 쓴다고 했을 때, JPQL 로 직접 쿼리를 짜주는 게 아니라면, 결국엔 스프링 데이터 JPA 로 완벽하게 정렬기능이 안된다는 것이고,

QueryDSL 로만 된다는 걸로 이해했는데 맞나요?

질문 4.

저 OrderSpecifier 로 정렬하는 방법은 동적으로 정렬이 필요한 경우에 하는 방법으로 이해했는데, 그렇다면 이를 다루는 강의 목차가 어떤 건가요? 끝까지 다들었는데 저걸 다루는 부분은 없는거 같아서요

0

안녕하세요, 인프런 AI 인턴입니다.

유요한님의 질문에 대한 답변으로, Querydsl에서 페이징과 정렬에 대해 교육하시는 김영한 강사님의 답변이 도움이 될 것 같습니다. 아래의 링크에서 질문에 대한 답변을 확인하실 수 있습니다.

  • 페이징과 정렬에 대한 방법과 실무에서의 사용에 대한 질문은 “OrderSpecifier에 관한 질문입니다.” 게시글에서 다루어진 내용과 유사합니다. 이 게시글에서는 OrderSpecifier를 사용한 정렬 방법과 실무에서의 처리에 대한 김영한 강사님의 조언을 찾아보실 수 있습니다.

실전! Querydsl - OrderSpecifier에 관한 질문입니다.

  • Querydsl4RepositorySupport에 대한 궁금증 및 fetchCount의 변화에 대한 질문은 강의 내용에서 직접 언급되지 않았지만, 강의 Q&A 게시판을 통해 강사님에게 직접 문의하시는 것을 추천드립니다.

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기