我有一个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>
我无法找到一种创建自引用一对一映射的方法。
答案 0 :(得分:3)
使用many-to-one
单向关联。请参阅hibernate参考文档中的Unidirectional associations。
<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>
您可以阅读这些答案以获取有关
的更多信息