코린이의 일기장

  • 홈
  • 태그
  • 방명록

querydsl 페이징 1

반려건 돌봄 서비스 (5) - 중복 제거한 페이징 시 카운트 쿼리에 fetchOne()을 사용해야 하는 이유

돌봄 예약 가능 날짜를 등록한 회원(돌봄사) 중, 현재 예약이 가능한 회원(돌봄사)만 조회하는 로직을 QueryDSL을 사용하여 구현했었다. 이때, DTO로 직접 조회하고 페이징을 적용하면서 중복 제거된 결과를 반환하는 방법에 대해 새로운 사실을 알게 되었다. 보통 JPA에서 카운트 쿼리는 fetchCount()를 사용하여 개수를 조회했었어서, QueryDSL에서도 똑같이 fetchCount()를 사용해서 content 개수를 조회하려고 했다. 그런데 문제가 카운트 쿼리가 중복된 데이터들을 제외한 content 개수를 카운트 쿼리로 날려야 하는데 자꾸 중복 데이터를 포함한 content 개수를 카운트 쿼리로 날리고 있는 상황이 발생했다. 왜 인지하고 찾아보니 중복 제거를 고려할 때는 fetchOne()을..

Spring 2025.03.15
이전
1
다음
더보기
프로필사진

코린이의 일기장

백엔드 꿈나무입니다.

  • 분류 전체보기 (82)
    • Spring (29)
    • 코딩테스트 (50)

Tag

spring 예약 프로젝트, Spring boot, spring boot 예약 프로젝트, 반려견 돌봄 서비스, 동시성 처리, 백준 19947 자바, dto 조회, 스프링, 프로그래머스, 프로그래머스 [1차] 프렌즈4블록 자바, 프로그래머스 2개 이하로 다른 비트 자바, Spring, JPA, querydsl 페이징, 프로그래머스 쿼드압축 후 개수 세기 자바, 백준 투자의 귀재 배주형, 배타 락, Redis, spring entity 연관관계, 도메인 모델 패턴,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

  • github

티스토리툴바