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

binni0515님의 프로필 이미지

작성한 질문수

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

주문, 주문상품 엔티티 개발

엔티티의 setter

22.08.20 18:52 작성

·

337

1

1. 엔티티에서 setter는 지양하라고 말씀하셨는데

예를 들면 Order의 연관관계 메서드를 작성 시 OrderItem의 setter가 사용됩니다. 이 때 setter를 사용하지 않고 양방향 연관관계 세팅을 할 수 있는 방법이 무엇이 있을까요?

 

2. 양방향값 세팅은 양방향연관관계일 때 필수적인 건가요?

답변 1

1

OMG님의 프로필 이미지

2022. 08. 20. 19:19

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

1.

setXX의 setter대신 의미있는 이름을 사용하면 됩니다.  아래 링크에서 영한님이 설명하시지만,

무분별한 setter의 사용을 지양하는 것일 뿐 양방향 연관관계 일때 억지로 푸는 것 보다 setter를 사용하는게 편한 상황이 있다고 하시니, 양방향 연관관계 맺기 위해 억지로 setter를 없애는 것 아닌가 싶은 경우에는 setter를 사용하셔도 될 것 같아요.

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

2.

네 맞습니다.

가령 Team과 Team에 속한 선수가 있다고 가정하면(일대다 관계) 

Team에 속한 선수들의 관계는 맺었을 때, A라는 선수가 Team과의 관계가 맺어지지 않은 경우

참조가 불가능합니다. (Team은 A선수를 조회할 수 있지만, A에서 Team의 조회는 불가능)

양방향으로 참조해야 한다면(양방향 연관관계) 상호간 참조는 필수입니다.


감사합니다.