• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@OneToMany 인 collection 멤버 필드까지 Projection 가능한지요?

20.07.02 16:08 작성 조회수 1.84k

0

QueryDsl 에서 Projection 기능이 깔끔하고 막강한데요.

@OneToMany 인 collection 멤버를 가지고 있는 DTO 로

Projection 을 한번에 가능한지요?  

Team.members  

TeamDto.memberDtos

Lazy 로 @OneToMany Join 시에..

querydsl 쿼리에서 바로 위와 같이 collection 멤버필드까지 한번에 Projection 이 가능한지요?

아니면 일단 entity 로 읽어서 map() 함수를 이용해서

매핑해 주어야 하는지 궁금합니다.

답변 1

답변을 작성해보세요.

2

안녕하세요. kepha님

Querydsl은 결국 JPQL을 자바코드로 작성한 것입니다.

Projection을 사용하면 엔티티가 아니라 DB에서 데이터를 flat하게 데이터를 읽어온 상태이기 때문에, 결국 수작업으로 진행해야합니다.

활용2편 마지막을 부분에서 설명하는 것과 동일하다고 이해하시면 됩니다^^

- 주문 조회 V4: JPA에서 DTO 직접 조회

- 주문 조회 V5: JPA에서 DTO 직접 조회 - 컬렉션 조회 최적화

- 주문 조회 V6: JPA에서 DTO로 직접 조회, 플랫 데이터 최적화

감사합니다.