• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Tuple안에 QResponseDto로 만든 값이 get이 안됩니다

22.11.18 07:56 작성 조회수 147

0

QueryDsl을 쓰다보면 반환타입이 List<Tuple>이 나오는 경우가 있습니다.

이 경우에, 일반적인 값들은 .get(0).get(Type)을 쓰면 읽어 와지는데, @QueryProjection을 붙인 dto는 빨간줄이 뜨네요.

아래와 같이 4가지 시도를 했는데 전부 빨간줄이 떠서 어떻게 해결방법이 있을까 하고 질문글 올려봅니다

 

답변 1

답변을 작성해보세요.

2

OMG님의 프로필

OMG

2022.11.18

안녕하세요. S-J L님, 공식 서포터즈 OMG입니다.
.

인자는 아래 코드와 비교하여 확인해주세요 ~

JPAQueryFactory query = new JPAQueryFactory(em);
List<Tuple> result = query
      .select(new QMemberDto(member.name),member.name)
      .from(member)
      .fetch();
for (int i = 0; i < result.size(); i++) {
   MemberDto memberDto = result.get(0).get(new QMemberDto(member.name));
   String s = result.get(0).get(member.name);
}

 

만약 에러가 발생한다면, Q파일이 생성되었는지 캡쳐화면과 빨간 밑줄의 내용을 같이 첨부하여 댓글남겨주셔야 원인 파악이 됩니다.
.
감사합니다.