• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

22.03.09 18:17 작성 조회수 104

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

오기훈님의 프로필

오기훈

질문자

2022.03.09

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

 

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

 

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