DTO의 argument로 Member, Team을 넣는 건 어떻게 보시나요?
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
@Query, 값, DTO 조회하기 강의에서 MemberDto를 아래와 같이 정의하셨는데요.
@Data
public class MemberDto {
private Long id;
private String username;
private String teamName;
public MemberDto(Long id, String username, String teamName) {
this.id = id;
this.username = username;
this.teamName = teamName;
}
}
제가 일하는 실무현장에서 Dto의 속성은 3개보다 훨씬 많습니다.
이 방식 그대로 Dto 생성자를 정의한다면, argument의 개수가 엄청 많아질텐데요.
그래서 저는 실무에서 아래와 같은 방식으로 생성자를 만들어 사용하고 있습니다.
@Data
public class MemberDto {
private Long id;
private String username;
private String teamName;
public MemberDto(Member member, Team team) {
this.id = member.getId();
this.username = member.getUsername();
this.teamName = team.getName();
}
}이런 방식에 대해 어떻게 생각하시나요?
Dto의 필요한 속성이 생성자에 나타나지 않아 유지보수가 떨어지게 될까요?
그것보단 Dto 생성자의 인자수가 너무 많아지는 게 더 안 좋다고 생각해서 위와 같이 생성자를 만들었습니다.
답변 1
2
안녕하세요. Roy님, 공식 서포터즈 David입니다.
네, 말씀하신 것처럼 작성하셔도 됩니다.
또한 DTO Assembler 패턴도 있는데 참고해 주세요.
https://coding8282.tistory.com/20
감사합니다.
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
75
1
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
108
3
MemberRepository 구현체
0
58
1
pdf 표현 질문드립니다.
0
63
1
로그가 남지 않는 문제.
0
82
1
테스트 라이브러리가 강의는 junit4가 맞나요??
0
72
2
pdf 파일과 차이점이 있는 것같은데 문제 없나요?
0
73
2
@PrePersist, @PreUpdate 호출 시점 질문드립니다.
0
93
2
Sort 인터페이스는 잘 사용 안하나요?
0
52
1
스캔대상 질문드립니다.
0
46
1
하이버네이트6에서의 최적화에 이은 질문
0
86
1
save() vs saveAndFlush DB 통신 횟수
0
54
1
순수 JPA 리포지토리 코드 수정부분
0
86
2
bulk연산 후 flush하는 이유를 모르겠어요
0
152
3
bulk insert 질문입니다.
0
178
2
교만했던 것 같아요.
0
147
1
RESTful 강의는 안하시는 건지 궁금합니다.
0
148
2
동적 테이블에 대한 질문
0
86
1
영속성 전이와 연관관계
0
131
2
강의 10:25 질문
0
74
1
단건 update 질문
0
97
2
엔티티 와 도메인의 경계
0
127
1
UsernameOnlyDto 타입 type mismatch 오류
0
121
1
Projection 개념과 데이터 전달과정에 대해 질문 있습니다.
0
136
1





