• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JQPL 반환 값 질문..!

23.05.15 09:45 작성 조회수 243

0

안녕하세요.!

강의를 수강하다가 질문 드립니다.

Member.class 엔티티가 아래와 같을 때

@Getter
@Entity
public class Member {
  @Id
  private Long id;

  private String username;
  private Long age;

...
}

 

Query query =
 em.createQuery("SELECT m.username, m.age from Member m");

List resultList = query.getResultList();

for (Object o : resultList)){
	Object[] result = (Object[]) o; //결과가 둘이상이면 Object[]반환
	System.out.println("username = " + result[0]);
	System.out.println("age = " + result[1]);
}

와 같은 JPQL문을 짯을 때,,

DB에 존재하는 Member 데이터가

id : 1, username : user1, age:10

id : 2, username :user2, age:20

일 경우에,

resultList 에는 Obejct[0], Object[1]이 존재하고,

아래 iter문에서 나오는 값은,

Object[0][0], Object[0][1]

Object[1][0], Object[2][1]

값 인가용?

 

 

감사합니다.

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2023.05.15

안녕하세요. 깨위님, 공식 서포터즈 David입니다.

List와 Array는 다른 자료구조입니다. 각각의 특징에 대해서 잘 모르면 비슷하게 느낄 수도 있을 것 같습니다.

올려주신 코드에서는 쿼리결과로 List (Object[], Object[], Object[] ... )를 반환 받는다고 보시면 됩니다.

그리고 반복문을 통해 List 내 Object[]를 하나씩 꺼내와서 값을 출력하고 있습니다.

이와 관련된 자세한 내용은 자바 문법 기본서를 참고해 주세요:)

감사합니다.