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

devRookie님의 프로필 이미지
devRookie

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요. Entity 필드 구성과 응답 DTO에 대해 질문 드립니다.

작성

·

251

0

안녕하세요 김영한 강사님. 항상 좋은 강의와 친절한 답변 너무 감사드립니다.

강의를 듣고 게시판 구현 프로젝트 진행 중 두 가지 고민이 생겨 질문 드립니다.

  • 첫 번째 질문

전체 게시글 리스트를 반환할 때, 게시글 리스트에 댓글 개수와 태그 이름 등을 함께 API 응답으로 반환해야 하는 상황입니다. 이때,

  1. 엔티티의 필드에 comment_count, tag_name 형식으로 적어줘야 할 지, 아니면

  2. comment와 tag 테이블에 쿼리를 날려 가져와서 응답 DTO 필드에 적어줘야 할 지 고민하고 있는 상황입니다.

1번 방식으로 하면 무언가 불필요한 필드가 테이블에 포함되는 것 같고, 2번 방식은 추가 쿼리가 많이 나갈 것 같아 망설여집니다.

보통 이런 경우 어떤 방식으로 처리는 게 좋은 지 궁금합니다!

  • 두 번째 질문

응답 DTO에 클라이언트가 필요로 하지 않는 데이터가 포함되어 있어도 되는지 궁금합니다.

예를 들어, title과 content를 필드로 가지는 DTO를, title만을 필요로 하는 요청에 반환해도 괜찮은 지, 아니면 응답 마다 DTO 각각 따로 생성해야 하는지 궁금합니다

답변 1

0

안녕하세요. qotjdals8313님, 공식 서포터즈 David입니다.

  1. 만약 엔티티 하나로 만드는 게 부담스러운 상황이라면 projection을 사용하면 좋을 것 같습니다. 이런 부분을 잘 지원하는 게 querydsl인데 이 부분도 함께 찾아봐주세요. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%8D%B0%EC%9D%B4%ED%84%B0-JPA-%EC%8B%A4%EC%A0%84

    https://www.inflearn.com/course/Querydsl-%EC%8B%A4%EC%A0%84

  2. 다음 글 답변을 참고해주세요. https://www.inflearn.com/questions/72423

감사합니다.

devRookie님의 프로필 이미지
devRookie

작성한 질문수

질문하기