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

재성님의 프로필 이미지
재성

작성한 질문수

실전! 스프링 데이터 JPA

JPA Hint & Lock

Setter 대신 생성자 방식과 @Builder 방식의 선호도

해결된 질문

작성

·

277

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

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);

  }
}

 

정답이 있는 부분은 아니어서 프로젝트에 따라 규칙을 정해 사용하시면 됩니다.

감사합니다.

재성님의 프로필 이미지
재성
질문자

그렇군요 감사합니다

재성님의 프로필 이미지
재성

작성한 질문수

질문하기