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

LichKing님의 프로필 이미지
LichKing

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

dto to entity 시 스타일 질문

작성

·

653

1

안녕하세요.

예제에서 MemberForm에서 Member 엔티티를 생성할때 컨트롤러에서 생성코드를 작성하셨는데요.

Member 엔티티를 생성하는걸 MemberForm 에서 처리하는거에 대해서는 어떻게 생각하시나요?

(ex. memberForm.toMember())

예제가 아닌 실무에서 평소 영한님께서는 어떻게 하시는지, 어떻게 생각하시는지 궁금해서 여쭤봅니다!

답변 1

3

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. LichKing님^^

애플리케이션 전체 의존관계 관점으로 볼 때, 보통 여러 외부 서비스나 DTO들이 엔티티에 의존하는 구조가 됩니다.

memberFrom에서 Member 엔티티를 생성하는 것은 의존관계가 DTO -> Entity를 의존하기 때문에 일반적으로 문제가 없습니다. 반대로 Entity에서 DTO를 만들어 내는 부분이라면 의존관계가 Entity -> DTO가 되기 때문에 문제가 될 수 있습니다.

실무에서 form에서 데이터가 모두 완비되는 경우는 toEntity() 같은 식으로 해서 엔티티로 변환하는 것도 종종 사용합니다. 다만 form 데이터 만으로 생성하기 어려운 경우는 form에서 생성하는 기능을 사용하지 않습니다^^

추가로 아키텍처에 따라서 컨트롤러가 있는 프레젠테이션 계층과, 서비스 이후 계층을 완전히 분리하고 엔티티를 서비스 계층 밖으로 노출하지 않는 경우가 있습니다. 이렇게 제약이 있으면 프레젠테이션 계층의 form 객체도 엔티티를 생성(참조)하면 안됩니다.

감사합니다^^

LichKing님의 프로필 이미지
LichKing

작성한 질문수

질문하기