인프런 커뮤니티 질문&답변

LUA님의 프로필 이미지
LUA

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

프로젝션(SELECT)

JPQL에 조회할때 Team.class가 뭔지 궁금합니다.

작성

·

153

0

4:55 정도 부분에 JPQL을 통해 Member를 조회해올 때 두번째 인자로 Member.class 대신 Team.class를 전달해야한다고 설명을 해주셨는데 두번째 인자로 줘야하는 Team.class 혹은 Member.class를 왜 주어야하는지 궁금합니다.

이전 영상인 TypedQuery와 Query를 설명해주실때

// 두번재 인자 있음
TypedQuery<Member> query1 = em.createQuery("select m from Member m", Member.class);

// 두번재 인자 없음?
Query query = em.createQuery("select m.username, m.age from Member m")

위 코드처럼 작성을 해주셨는데 두번째 인자의 역할이 무엇인지 적어야 할때와 적지않아도 될 때가 언제인지 궁금합니다!

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. LUA님 두번째 인자는 반환 Type을 확정해주는 기능입니다.

Java5부터 지원되는 Generic를 사용해서, 타입을 지정해서 찾아오는 방법입니다.

만약 이 두번째 인자가 없으면 (Member) 처럼 케스팅을 해주어야 합니다^^

반환 타입이 명확할 때는 TypeQuery를 사용하고, 반환 타입이 명확하지 않을 때는 Query를 사용해야 합니다.

해당 강의의 11:13을 참고해주세요^^

감사합니다.

LUA님의 프로필 이미지
LUA

작성한 질문수

질문하기