На рисунке ниже показана иерархия классов, которую необходимо сохранить.Но я не могу придумать решение для отношений, отмеченных красным цветом.
Отношение Assignment-ExtensionValue означает, что в ExtesionValue должен быть составной PK, определенный как (owner_oid, id) из Assignment, но отношение Role-ExtensionValue означаетдолжен быть только простой PK, определенный как (oid) из роли.
owner_oid сопоставлен с object.oid Я не могу создать новый ключ PK для ExtensionValue, еслиэто не совсем необходимо, потому что я бы потерял его при обработке объектов в бизнес-логике.Как его сохранить и как сопоставить его с аннотациями Hibernate?
![class hierarchy/hibernate pojos](https://i.stack.imgur.com/QsuoE.png)
Я пытаюсь сохранить объекты, подобные этим
<role oid="123">
<assignment id="1">
<some-extension-value>foo</some-extension-value> <--- THIS
<other-value>1</other-value> <--- THIS
</assignmen>
<assignment id="2">some stuff</assignment>
...other elements...
</role>
и
<user oid="232">
<extension-value>bar</extension-value> <--- THIS
..other elements...
</user>