У меня спазм мозга, пытающийся выяснить это отображение.
Вот мой дб:
CUSTOMER CUSTOMERFAMILY CUSTOMER
PK SITE_ID -----------PRIMARYSITE_ID -- PK SITE_ID
MEMBERSITE_ID -------------|
Это создает отношение, в котором у Клиента может быть только один родитель (поскольку существует уникальное ограничение на CUSTOMERFAMILY.MEMBERSITE_ID), и у Клиента может быть много детей. (то есть Pepsi Co. владеет FritoLay, Gatorade и т. д., поэтому у PepsiCo будет несколько детей, но у Gatorade есть только один родитель: PepsiCo).
Я пытаюсь отобразить свойство в моем объекте Customer, называемом parent, я безуспешно пробовал множество комбинаций этой идеи:
<join table="CUSTOMERFAMILY" inverse="false">
<key column="MEMBERSITE_ID" unique="true" />
<many-to-one name="parent" column="SITE_ID" not-null="true"><formula>PRIMARYSITE_ID</formula></many-to-one>
</join>
Есть идеи ??
Заранее спасибо.
(Пожалуйста, не спрашивайте, почему БД спроектирована таким образом ... устаревшая система, это был не я!))