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

III님의 프로필 이미지
III

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

값 타입 컬렉션

AddressEntity 사용이유

작성

·

327

1

값 타입인 Address를 감싸고 있는 AddressEntity를 따로 만들어서 일대다에서 다의 역할을 해주고 있는데 이렇게 하지 말고

Address자체를 @Entity로 만들어서 일대다에서 "다"의 역할을 하게 해도 되지 않나요? AddressEntity를 쓰는 이유가 무엇인가요?

답변 1

2

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

맞습니다!

여기서 Address 값타입 컬렉션을 그대로 놔두고 AddressEntity를 새로 만든 이유에 대해서는 크게 2가지가 있을 것 같습니다!

1) 영한님의 강의 방식: 영한님은 이전의 불편하거나 개선 여지가 있는 코드를 보여주시고, 이를 개선하는 방식으로 많이 강의하십니다. 그 과정에서 이전의 코드를 패키지를 나누는 방식 등으로 남겨놓아 나중에 복습할 때 보기 편하도록 하십니다 🙂 Address도 값타입 컬렉션 때의 강의 내용으로 따로 남겨두고, AddressEntity를 새로 만들어서 설명하신 게 아닌가 생각합니다!

2) Member 엔티티에 이미 Address를 사용하고 있음: 보시면 값타입 컬렉션과는 별개로 Member에는 이미 homeAddress 필드에 Address 를 저장하고 있습니다. 근데 Address를 그냥 AddressEntity로 변경해버리면 Member 엔티티에서 사용하던 Address 값 타입 객체를 사용할 수 없습니다. 이를 위해서라도 Address 는 남겨놔야 합니다!

 

감사합니다.

III님의 프로필 이미지
III

작성한 질문수

질문하기