Я пытаюсь создать сайт электронной коммерции, используя spring, hibernate и впервые после DDD.
На данный момент ситуация такова.Я рассматриваю объект USER как совокупный корень, который имеет список адресов (предыдущие и текущие), и для каждого адреса есть связанная страна (изокод, имя).
Я предположил, что адреси Country - это объекты-значения .. строго связанные с пользователем.
В классе @Entity User есть: @ElementCollection @CollectionTable (name = "address", joinColumns = @JoinColumn (name = "address_id")) @OrderColumn (name = "user_id") private List address;
В классе @Embeddable Address я хотел бы создать отдельную таблицу для Country, которую я могу заполнить во время инициализации, а в Address есть только сторонний адресkey.
Я пробовал @Embeddable Country и в адресе @Embedded private Country country
, а также @SecondaryTable .. но это можно использовать только в классе @Entity .. Так что проблема в том, чтополя Страна сохраняются внутри таблицы адресов.
Должен ли я создать @Entity для страны?Или есть другой способ сопоставить эти классы?
Спасибо