我有一个 A 类,它有一个属性类型,指示它是收据还是交货。收据可以映射到单个交付,反之亦然。现在考虑接收交易和交付交易是兄弟。
所以类 A 有一个类型为 A 的兄弟。“A”和它的兄弟有一个一对一的关系,如上所述。
Class A {
private A sibling;
}
<hibernate-mapping>
<class name="A" table="A">
<id name="Id" type="java.lang.Integer" column="id">
<generator class="native"></generator>
</id>
<one-to-one name="sibling" class="A" lazy="proxy" />
</class>
</hibernate-mapping>
我无法找到创建自引用一对一映射的方法。
最佳答案
使用多对一
单向关联。参见 Unidirectional associations在 hibernate 引用文档中。
<hibernate-mapping>
<class name="A" table="A">
<id name="Id" type="java.lang.Integer" column="id">
<generator class="native"></generator>
</id>
<many-to-one name="sibling" class="A" cascade="all" />
</class>
</hibernate-mapping>
您可以阅读这些答案以获取更多信息
关于hibernate - Hibernate 中的自引用一对一映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7324226/