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

Ahrisan님의 프로필 이미지

작성한 질문수

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

주문 검색 기능 개발

연관관계 메서드 setter 질문

21.12.10 16:36 작성

·

387

0

앞전 강의에서 가능하면 엔티티는 setter를 열어놓지 말고 사용하라고 했습니다.


현재 제가 진행하고 있는 방향은

엔티티를 만들때 생성 메서드를 따로 만듭니다. (createMember)

그리고 엔티티안에 private로 생성자 함수를 만듭니다. + @Builder 어노테이션을 적용시킵니다.

그리고 생성 메서드에서 그 생성자함수를 빌더패턴으로 만들어서 사용하고 있습니다.


이렇게하면 실수로 엔티티를 만들거나, 엔티티의 값을 바꾸는일이 일어날 일이 없다 생각합니다. 혹시 괜찮은 방법인지 궁금합니다.

더불어

강의내용중 연관관계 메서드에서 엔티티의 setter를 사용하는데 이부분을 개선할 수 있는 방법이 있나요??

/* 연관관계 메서드 */
public void addOrderItem(OrderItem orderItem) {
orderItems.add(orderItem);
orderItem.setOrder(this);
}

답변 1

0

David님의 프로필 이미지

2021. 12. 10. 17:26

안녕하세요. 김진영님, 공식 서포터즈 David입니다.
.

객체 생성의 경우 정적팩토리 메서드나 빌더 둘 중 하나만 적용시켜도 충분합니다.

연관관계 편의메서드 내 setter 사용 유무에 대해서는 아래 글 답변을 참고해주세요.

https://www.inflearn.com/questions/16235

 

https://www.inflearn.com/questions/23891

.
감사합니다.

Ahrisan님의 프로필 이미지

작성한 질문수

질문하기