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

오기훈님의 프로필 이미지

작성한 질문수

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

프로젝션에서 new를 이용한 DTO 객체 사용 시 질문드립니다.

작성

·

167

0

프로젝션 (select)

 

강의 14분쯤에  문자열이기 때문에 패키지 명을 다 적어야 한다는 단점이 있다고 말씀 해주셨는데 ,

 

문자열이라면  패키지명을 문자열 변수에 담아 jpql.dto.MemberDTO 

query 문자열에 더해 주는 방식은 가독성이나 문제되는 점이 있는지 궁금합니다. 

 

예제 

List<MemberDTO> resultList = em.createQuery("SELECT  new jpql.dto.MemberDTO(m.username, m.age) FROM Member m", MemberDTO.class).getResultList();

 

변형

String memberDtoPath = "jpql.dto.MemberDTO";

List<MemberDTO> resultList = em.createQuery("SELECT new "+memberDtoPath+" (m.username, m.age) FROM Member m", MemberDTO.class).getResultList();

 

답변 1

0

오기훈님의 프로필 이미지
오기훈
질문자

자문자답이긴 하지만, 바로 강의 뒤에 설명으로는

 

QueryDSL을 이용하면 패키지를 임포트 해와서 사용할 수 있는 방법이 있다 설명해주셔서

 

굳이 JPQL에서 패키지 경로를 문자열 변수로 더해주는 작업은 불필요 할꺼같네요