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

김진영님의 프로필 이미지

작성한 질문수

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

상속관계 매핑

타입이 겹칠 수 있다면 어떤 식으로 해결하는 게 좋을까요?

작성

·

196

0

타입이 중복으로 소유된다면 어떻게 해야될까요?

ex) 아래와 같은 논리모델을 가진 테이블이 있습니다.
(이번 수업의 예제로 사용된 테이블구조입니다.)
'해리포터 책 세트 및 영화소장권'이라는 ITEM이 있고,
해당 ITEM은 BOOK의 속성과 MOVIE의 속성을 모두 가지고 있습니다.
혹시 이런 경우에도 설계로 풀어낼 수 있는 방법이 있을까요?
 
가장 궁금한 건 객체를 어떻게 풀어내느냐입니다!
MOVIE와 BOOK을 모두 포함하는 서브타입 엔티티가 추가되는 것은 불가피하다고 생각합니다.
이 MOVIE_BOOK을 class로 풀어낼 때 MOVIE와 BOOK이 가지는 속성과 메서드를 그대로 가지게 될텐데, 객체설계를 어떻게 하는 게 좋을까요?
MOVIE와 BOOK을 모두 MOVIE_BOOK에서 상속받을 수는 없고, interface로 풀어보려고도 해봤지만 interface에는 멤버변수 선언이 불가능하여 포기했습니다... 해당 부분과 관련하여 좋은 방법이나 글이 있다면 알려주시면 감사하겠습니다.
(정 안 되면 MOVIE_BOOK은 MOVIE_BOOK대로, MOVIE는 MOVIE대로 BOOK은 BOOK대로 만드는 방식으로 갈 예정입니다.)
 
(전략은 JOIN과 SINGLETABLE 모두 상관없습니다.)

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

2021. 09. 27. 23:02

안녕하세요. 김진영님

완전히 새로운 타입을 만들거나 또는 이 상속구조와는 무관하게 클래스 설계에서 세트라는 새로운 개념을 만드셔야 합니다.

감사합니다.