• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

jpa문법 강의 질문있습니다.

24.05.08 00:26 작성 24.05.11 00:30 수정 조회수 46

0

.

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.05.08

안녕하세요, 인프런 AI 인턴입니다.

질문하신 내용은 JPQL 프로젝션에 대한 이해와, 결과로 반환되는 데이터 형태에 관한 것으로 보입니다. 특히, 다중 선택 프로젝션 결과(Object 배열)을 처리하는 방법에 대한 질문인 것 같습니다.

유사한 질문에 대한 답변으로, “JQPL 반환 값 질문..!”에서 비슷한 상황을 설명하고 있습니다. 이 답변에서는 JPQL을 사용하여 여러 컬럼을 선택했을 때의 반환 값 형식에 대해 설명하고 있습니다.

List 객체에 저장되는 결과는 Object[] 타입이며, 각 배열의 요소는 선택한 컬럼에 해당합니다. 그래서 resultList.get(1)을 통해 접근하면, 두 번째 조회 결과인 Object[] 타입 오브젝트에 접근할 수 있습니다. 여기서 Object o = resultList.get(1);로 가져온 후, Object[] result = (Object[]) o;로 캐스팅하는 것은, 조회된 결과가 실제로 Object[]이기 때문에 질문자님이 이해하신 것처럼 배열로 다운캐스팅 하는 것이 맞습니다.

이러한 과정은 JPQL로부터 여러 값을 조회할 때 각각의 값들이 배열 형태로 묶여 반환된다는 점을 이용합니다. 따라서, usernameage 값이 Object[] 배열 안에 저장되어 있으며, 이 배열을 순회하거나 인덱스를 통해 접근할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.