• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

Entity, Dto 관련해서 궁금증이 있습니다! (오류 사항은 아니지만.. 갑자기 궁금해져서 글을 남기게 되었습니다.)

23.08.07 22:59 작성 조회수 206

0

안녕하세요. 해당 강의를 보다가 궁금증이 생겨서 글을 남기게 되었습니다.

Entity는 디비 테이블의 컬럼들을 작성(실제 컬럼 및 디비에 없는 컬럼들까지)하고

Dto는 요청에서 받는 타입들을 작성하고 해당 타입들을 Controller 전에 검증해주는 클래스라고 알고 있었습니다.

 

궁금한건 아래 2가지 인 것 같습니다.

  1. Entity는 디비 테이블의 컬럼을 / Dto는 타입 검증을 위한 데코레이터들을 작성하는 클래스로 분리되는 개념으로 생각해왔었는데 잘 못 생각하고 있었던건가요??

  2. 만약, Dto 클래스에 있는 컬럼들을 생략하면 nickName?: string; 처럼 선택적 옵션들과 @IsString()등 타입 검증을 해주는 데코레이터들을 전부 Entity에 작성해주는 건가요?? 저는 Entity는 건들이지 않고 Dto에서 선택적 옵션과 타입 검증들의 데코레이터를 사용하고 있었어서 궁금해졌습니다..!

답변 1

답변을 작성해보세요.

1

엔티티는 db의 테이블을 클래스로 매핑한 것이고(저는 relation까지는 같이 넣어두는 편이긴 합니다) dto는 계층간 데이터 전달을 위해 좀 더 범용적으로 쓰이는 객체가 맞습니다. dto쪽에 비즈니스적 검증로직을 몰아두는 게 좋긴 합니다. entity에는 실제 디비에 저장하기 위한 필수적인 조건 검증로직만 붙여놓고요.

dev kim님의 프로필

dev kim

질문자

2023.08.07

아하 넵! 구체적인 답변 해주셔서 감사합니다!