我在下面的图片上显示了类层次结构,需要保留。但我想不出用红色标记的关系的解决方案。
Assignment-ExtensionValue关系意味着在ExtesionValue中应该有来自Assignment的复合PK定义为(owner_oid,id),但是关系Role-ExtensionValue意味着应该只有一个简单的PK定义为来自Role的(oid)。
owner_oid 映射到 object.oid 如果不是必需的话,我无法为ExtensionValue创建新的PK密钥,因为在处理业务对象时我会丢失它逻辑。应该如何持久化以及如何使用Hibernate注释进行映射?
我正试图坚持这样的对象
<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>