[문제해결] QueryDSL ScrollableResults.get(int) 오류

YeonJi·2025년 5월 28일
0

문제해결

목록 보기
22/24

💭 상황

그룹화 하여 부모 객체에 자식 객체를 List로 넣어서 반환하려고 QueryDSL을 통해 transform을 사용하였다.

    @Override
    public List<AnalyticSimpleResDto> findByCollectedAtAndChannel() {
        QAnalytic analytic = QAnalytic.analytic;

        return jpaQueryFactory
                .selectFrom(analytic)
                .orderBy(...)
                .transform(
                        GroupBy.groupBy(...)
                                .list(Projections.constructor(
                                       ...
                                        GroupBy.list(Projections.constructor(
                                               ...
                                        ))
                                ))
                );
    }
}

💥 오류

java.lang.Object org.hibernate.ScrollableResults.get(int)

⭕ 해결

JPQLTemplates.DEFAULT를 추가해 해결하였다.
SpringBoot 3.x Version에서는 기존과 다르게 설정을 해야 사용이 가능하다.

@Configuration
public class QueryDslConfig {

    @PersistenceContext
    private EntityManager entityManager;

    @Bean
    public JPAQueryFactory jpaQueryFactory() {
        return new JPAQueryFactory(JPQLTemplates.DEFAULT, entityManager);
    }
}

📝 참고

profile
문제해결 위주로 기록

0개의 댓글