Setter 대신 생성자 방식과 @Builder 방식의 선호도
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
아니오
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
예
[질문 내용]
강의를 듣다보면 편의를 위해 setter를 이용해 데이터를 수정하는데 저는 실제로 사용하지 않는 것이 좋다고 들어 생성자를 따로 생성해 강의를 진행하고 있습니다. 그러다보니 생성자 개수가 늘어나 관리? 하기 어려워져 다른 방법을 찾아보던 중 @Builder를 통해 처리하는 방법을 알게되었는데 실제 프로젝트에서는 어떤 방법을 이용하는 것이 좋은건지 궁금합니다
답변 1
2
안녕하세요. 재성님, 공식 서포터즈 코즈위버입니다.
정답이 없는 문제군요 :)
저는 실무에서 관계에 관한것은 Setter를 제공하고, 그 외는 @Builder 를 사용하여 생성하도록 하였습니다.
가령 Order와 OrderItem 이라면 OrderItem 엔터티 안에 있는 Order에는 @Setter 어노테이션을 붙였습니다. 그러면 아래처럼 관계편의 메서드를 작성하기 편해지지요.
class Order {
...
public void addOrderItem(OrderItem orderItem) {
orderItem.setOrder(this);
orderItems.add(orderItem);
}
}
정답이 있는 부분은 아니어서 프로젝트에 따라 규칙을 정해 사용하시면 됩니다.
감사합니다.
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
69
1
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
107
3
MemberRepository 구현체
0
57
1
pdf 표현 질문드립니다.
0
62
1
로그가 남지 않는 문제.
0
81
1
테스트 라이브러리가 강의는 junit4가 맞나요??
0
70
2
pdf 파일과 차이점이 있는 것같은데 문제 없나요?
0
72
2
@PrePersist, @PreUpdate 호출 시점 질문드립니다.
0
91
2
Sort 인터페이스는 잘 사용 안하나요?
0
52
1
스캔대상 질문드립니다.
0
46
1
하이버네이트6에서의 최적화에 이은 질문
0
85
1
save() vs saveAndFlush DB 통신 횟수
0
53
1
순수 JPA 리포지토리 코드 수정부분
0
86
2
bulk연산 후 flush하는 이유를 모르겠어요
0
152
3
bulk insert 질문입니다.
0
178
2
교만했던 것 같아요.
0
147
1
RESTful 강의는 안하시는 건지 궁금합니다.
0
147
2
동적 테이블에 대한 질문
0
86
1
영속성 전이와 연관관계
0
130
2
강의 10:25 질문
0
74
1
단건 update 질문
0
95
2
엔티티 와 도메인의 경계
0
127
1
UsernameOnlyDto 타입 type mismatch 오류
0
119
1
Projection 개념과 데이터 전달과정에 대해 질문 있습니다.
0
136
1





