diff --git a/src/main/java/org/ezcode/codetest/infrastructure/persistence/repository/problem/ProblemQueryRepositoryImpl.java b/src/main/java/org/ezcode/codetest/infrastructure/persistence/repository/problem/ProblemQueryRepositoryImpl.java index 7c68b575..dcad3cb5 100644 --- a/src/main/java/org/ezcode/codetest/infrastructure/persistence/repository/problem/ProblemQueryRepositoryImpl.java +++ b/src/main/java/org/ezcode/codetest/infrastructure/persistence/repository/problem/ProblemQueryRepositoryImpl.java @@ -37,13 +37,6 @@ public Page searchByCondition(Pageable pageable, ProblemSearchCondition builder.and(problem.isDeleted.isFalse()); - JPAQuery query = jpaQueryFactory - .selectDistinct(problem) - .from(problem) - .leftJoin(problemCategory).on(problem.eq(problemCategory.problem)) - .leftJoin(problemCategory.category, category) - .where(builder); - // 카테고리 필터링 if (searchCondition.category() != null) { builder.and(category.code.eq(searchCondition.category()) @@ -55,6 +48,15 @@ public Page searchByCondition(Pageable pageable, ProblemSearchCondition builder.and(problem.difficulty.eq(Difficulty.valueOf(searchCondition.difficulty()))); } + JPAQuery query = jpaQueryFactory + .selectDistinct(problem) + .from(problem) + .leftJoin(problemCategory).on(problem.eq(problemCategory.problem)) + .leftJoin(problemCategory.category, category) + .where(builder); + + + List content = query .offset(pageable.getOffset()) .limit(pageable.getPageSize())