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

최진수님의 프로필 이미지
최진수

작성한 질문수

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

프로젝션(SELECT)

안녕하세요, 스칼라 타입 프로젝션 관련하여 궁금한점이 있습니다.

해결된 질문

작성

·

302

1

안녕하세요, 자바 ORM 표준 JPA 프로그래밍 강의 중 

스칼라 타입 프로젝션 관련해서 궁금한 점이 있습니다.

 

em.createQuery("SELECT m.username, m.age FROM Member m", Member.class).getResultList();

위와 같이 스칼라 타입 프로젝션 사용시 반환 타입을 적용하게 되면  이후  단계가 진행이 되지 않고, 반환 타입을 제외하면 정상적으로 수행이 되는데 이게 어떤 차이가 있는건지 궁금합니다..

 

감사합니다.

답변 2

1

select 되는 자료형이 Member Entity 와 달라서 그런것 같습니다.

List memberList = em.createQuery("select m.username, m.age from Member m").getResultList();

변경해서 실행해 보세요

0

안녕하세요. 최진수님, 공식 서포터즈 y2gcoder입니다.

위의 김기정님 말씀이 맞습니다. 스칼라 타입 프로젝션으로 조회할 때는 Member Entity가 아니라 Object로 반환됩니다. 그래서 데이터를 읽기 위해선 타입 캐스팅이 필요합니다. 

밑에 참고할만한 링크를 첨부하겠습니다!

https://escapefromcoding.tistory.com/464?category=1202462


감사합니다.

최진수님의 프로필 이미지
최진수

작성한 질문수

질문하기