최대 1 분 소요

문제 상황

Repository에 등록된 함수 즉, DB에서 데이터를 가져오기 위해 쿼리를 사용하는 과정에서 오류가 발생했다.

org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.query.sqm.InterpretationException: Error interpreting query [select count(product)
from Category category
  left join product.user as user
  left join product.mall as mall
where user.id = ?1]; this may indicate a semantic (user query) problem or a bug in the parser [select count(product)
from Category category
  left join product.user as user
  left join product.mall as mall
where user.id = ?1]


해결 방법

쿼리에서 from절에 잘못된 엔티티를 적어서 발생한 문제로, 수정해주니 정상적으로 처리되는걸 확인할 수 있었다.
product에 대해 정보를 얻고 있었는데 뜬금없이 category를 적어뒀었다.

queryFactory
      .select(product.count())
      .from(product) //category -> product
      .leftJoin(product.user, user)
      .leftJoin(product.mall, mall)
      .where(
              userIdEq(userId)
      )
      .offset(pageable.getOffset())
      .limit(pageable.getPageSize())
      .fetchOne();

카테고리:

업데이트:

댓글남기기