반응형

JPAExpression.select를 이용해서 발생했던 문제.
-> JPAQueryFactory(entityManager)로 이용했더니 됨.

구글링 내용
출처: https://velog.io/@sigint_107/GraphQL-QueryDsl-null-Fetching-Error
GraphQL디버거에서 나온 에러내용
"Exception while fetching data (/comparePartsCond) : null",
IntelliJ console에서 나오는 에러내용
UnsupportedOperationException: null
원인은 queryDsl쿼리를 JPAexpression객체로 불러서 나오는 에러였다. 
원래대로라면 JPAQueryFactory가 QueryDsl쿼리를 부르는 맞는 객체이다.

반응형
LIST
반응형

SELECT SubQuery LIMIT 최신 데이터 가져오기

 

select 절에서 SubQuery 최신 limit 1 을 가져올 수 없는 문제가 있어서 해결한 방법

 

Scalar subquery contains more than one row.... 이런 오류가 난다...




"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

SELECT SUBQuery를 이용하여사용자의 최근 주문 번호를 가져온다고 가정

QUser user = QUser.user;

QUrder order = QOrder.order;

 

factory

.select(

 user.username

 , JPAExpressions

     .select(order.orderId)

     .from(order)

     .where(order.seq.eq(JPAExpressions

                           .select(order.seq.max())

                           .from(order)

                           .where(order.userId.eq(user.userId))

.from(user)

.where(user.userId.eq(@id)

.fetchFirst();

임의 작성이라 정상적인 쿼리는 아니지만... 이런식으로 처리하는 방법밖에 없는 듯 합니다.

반응형
LIST
반응형

[QueryDSL] SELF JOIN 셀프조인

 

QCategory category1 = new QCategory("category1");

QCategory category2 = new QCategory("category2");

 

factory

  .select(

    Projections.fields(

      ...DTO.class,

      category1.categoryCode.as("parentCategoryCode"),

      category2.categoryCode,

      ...

    )

  )

  .from(category1, category2)

  .where(

    category1.categoryCode.eq(category2.parentCategoryCode)

  )

반응형
LIST

+ Recent posts