Customer
및 Order
두 개의 집계 루트와 "공유"엔티티 Address
으로 구성된 모델에 대한 시나리오를 고려하십시오. PhysicalAddress
, PostOfficeBoxAddress
및 PrivateBagAddress
:엔티티 공유가 필요한 집계
또한 Address
가 abstract
입니다 다음과 같은 서브 클래스를 가지고 있습니다.
Customer
은 일종의 주소록으로 구성된 많은 주소를 가질 수 있습니다. 주문시 고객은 주소록에서 Address
을 선택하여 배달 주소로 사용합니다.
초기 생각은 두 엔티티간에 주소를 공유하는 것이었지만 이후로는 각 불변량을 관리하는 데 문제가 발생할 수 있으므로 선택을 취소했습니다.
내가 할 수있는 또 다른 옵션은 Address
이라는 두 개의 계층 구조를 고객 주소 또는 배달 주소로 사용하는 것입니다. 이것은 많은 반복 코드가 있기 때문에 다시는 올바르게 보이지 않습니다.
이 상황을 어떻게 적절하게 모델링합니까?
답변을 주셔서 감사합니다. 그러나 ORM 프레임 워크 JPA를 사용하여 구현할 수없는 것으로 보입니다. @Embeddables (값 객체)가 상속을 사용할 수 없다는 문제가 있습니다. 나는 다른 해결책을 찾아야 할 것이다. –