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