diff --git a/src/main/java/dev/book/challenge/repository/ChallengeRepositoryImpl.java b/src/main/java/dev/book/challenge/repository/ChallengeRepositoryImpl.java index 3c90887..5186610 100644 --- a/src/main/java/dev/book/challenge/repository/ChallengeRepositoryImpl.java +++ b/src/main/java/dev/book/challenge/repository/ChallengeRepositoryImpl.java @@ -2,12 +2,13 @@ import com.querydsl.core.types.Projections; import com.querydsl.core.types.dsl.BooleanExpression; +import com.querydsl.jpa.impl.JPAQuery; import com.querydsl.jpa.impl.JPAQueryFactory; import dev.book.challenge.dto.response.ChallengeReadResponse; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; +import org.springframework.data.support.PageableExecutionUtils; import org.springframework.stereotype.Repository; import java.util.List; @@ -37,12 +38,11 @@ public Page search(String title, String text, Pageable pa .limit(pageable.getPageSize()) .fetch(); - long totalCount = jpaQueryFactory.select(challenge.count()) + JPAQuery countQuery = jpaQueryFactory.select(challenge.count()) .from(challenge) .where(eqTitle(title), - eqText(text)) - .fetchOne(); - return new PageImpl<>(content, pageable, totalCount); + eqText(text)); + return PageableExecutionUtils.getPage(content, pageable, countQuery::fetchOne); } diff --git a/src/main/java/dev/book/challenge/user_challenge/repository/UserChallengeRepository.java b/src/main/java/dev/book/challenge/user_challenge/repository/UserChallengeRepository.java index 0497a42..c3b9a5f 100644 --- a/src/main/java/dev/book/challenge/user_challenge/repository/UserChallengeRepository.java +++ b/src/main/java/dev/book/challenge/user_challenge/repository/UserChallengeRepository.java @@ -39,9 +39,6 @@ public interface UserChallengeRepository extends JpaRepository findChallengeByUserId(Long id, Pageable pageable);