У меня есть существующий дизайн объекта.Существует Individual
сущность.A Guardian
или Minor
сохраняются как Individual
.Если ura Minor
, вам назначено ноль или более опекунов.Это отношение хранится в другом объекте.
Существует дополнительное требование;добавить флаг, чтобы показать, что Guardian
Address
следует использовать для Minor
, если установлена связь.Этот флаг можно снять позже.Если флажок снят, будет использован существующий адрес, и никакие изменения в адресе опекуна не перезапишут адрес несовершеннолетнего.
Отношение между Minor
и Guardian
сохраняется как
(minor_individual_id, guardian_individual_id, type_of_the_relationship)где type_of_the_relationship может иметь значения, такие как «допустимые» и т. д.
Это так же просто, как добавить новый флаг в таблицу отношений?После добавления адрес несовершеннолетнего должен быть изменен на адрес опекуна.Информация об адресе хранится в другом объекте (Address
).Можно ли это сделать с помощью встроенного функционала Hibernate?Или мы должны добавить слой, чтобы заботиться об этой функциональности?Есть ли в Hibernate что-нибудь, что позволяет мне знать, что флаг был обновлен и должен произойти новый набор обновлений?
Адресный объект содержит индивидуальный идентификатор и адрес для индивидуума в одной таблице.
Как только флаг установлен, он может быть установлен только один раз для несовершеннолетнего, так как это приведет к путанице, если у несовершеннолетнего есть несколько опекунов, для которых должен быть включен каскад адресов для каждого из его опекунов.Спасибо.
Структура базы данных: Индивидуальный (Таблица / Организация) Я быВозраст (в зависимости от возраста к вам относятся как к несовершеннолетнему)
GuardianRelationShip (таблица / сущность) Minor_Individual_IdGuardian_Individual_Id
Адрес (таблица / сущность) Individual_IdАдресная строка 1городгосударственный
Если ura Minor
с Individual
id из 2 и имеют Guardian
с Individual
id из 1. Это будет выглядеть как
Id Age (Individual)
1 40 Guardian
2 5 Minor
Minor Guardian (GuardianRelationShip)
2 1
IndividualId City State (Address)
1 LA CA
2 NY NY
После того, как они связаныИдея состоит в том, что адрес для младшего «индивидуального идентификатора 2» будет изменен на NY / NY.
Если есть требование.что говорит использовать адрес опекуна для несовершеннолетнего и разрешить отмену связи адреса, как бы вы это сделали?