• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

dto로 바로 가져오는것에대해 궁금한점이 있습니다 .

23.02.03 19:47 작성 조회수 451

0


=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 네 (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네 (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네 (예/아니오)

[질문 내용]

강의를 듣기전에는 dto를 select절에서 바로 받는방법이 아닌 , 그대로 뽑아온뒤에 서비스단에서 dto도메인에 만들어둔

생성자펙터리메서드를 사용해서 반환받았습니다 .

리스트 같은경우에는 스트림맵을 사용했었고요 ,

혹시 서비스단에서 반환하는방법이 단점이 있어서

dto로 바로 받는방법을 사용해야하는건지 ,

아니면 그저 선택 ?의 문제인지 알고싶습니다 .

 

답변 1

답변을 작성해보세요.

1

안녕하세요. josw90님

  1. 리포지토리에서 엔티티를 조회한 다음에 서비스계층에서 DTO로 변환했다.

  2. 리포지토리에서 바로 DTO로 조회한다..

1번은 좀 더 유연하게 리포지토리를 활용할 수 있습니다. 엔티티를 조회하는 기능은 범용성이 있으니까요. 2번은 특정 기능에 맞는 DTO를 조회하므로 해당 메서드의 범용성이 떨어집니다.

성능 관점에서는 일반적으로 2번이 더 좋습니다. DTO로 조회하게 되면 원하는 필드만 DB에서 추려서 조회하기 때문에 엔티티로 조회할 때 보다는 데이터를 더 적게 DB에서 불러오게 됩니다.

감사합니다.