강의

멘토링

로드맵

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

dudrh789님의 프로필 이미지
dudrh789

작성한 질문수

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

엔티티 설계시 주의점

getList().add() 는 사용해도 되나요?

작성

·

243

0

안녕하세요. 엔티티에는 가급적 Setter를 사용하지 않는다는 설명을 듣고 궁금증이 생겼습니다.

Field에 ArrayList가 있을 경우 
외부에서 order.getOrerItems().add(orderItem)

와 같은 방식으로 order.orderItems의 원소를 추가 할 수 있잖아요.

위와 같이 order.orderItems를 변경하는 방식을 실무에서 사용해도 되나요? 

이러한 방식이 setter을 열어두는 방식과 어떤 차이점이 있는지 궁금합니다.

퀴즈

일대다(One-to-Many) 관계에서 외래 키(Foreign Key)는 일반적으로 어느 쪽에 위치해야 할까요?

'일(One)' 쪽에 위치합니다.

'다(Many)' 쪽에 위치합니다.

관계의 소유자(Owner)가 아닌 쪽에 위치합니다.

관계 설정에 따라 달라지므로 정해진 규칙이 없습니다.

답변 1

0

안녕하세요. dudrh789님, 공식 서포터즈 OMG입니다.

List에 데이터를 add()로 추가하는 것과 필드의 값을 setter로 바꾸는 것을 동일하게 변경한다로 보신것 같습니다.

--

와 같은 방식으로 order.orderItems의 원소를 추가 할 수 있잖아요.

위와 같이 order.orderItems를 변경하는 방식을 실무에서 사용해도 되나요? 

--

추가 != 변경

바꾸는것 ==변경

으로 보시면 될 것 같습니다.

감사합니다.

dudrh789님의 프로필 이미지
dudrh789

작성한 질문수

질문하기