Hibernate中的自引用一对一映射

时间:2011-09-06 18:08:17

标签: hibernate one-to-one self-reference

我有一个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>  

我无法找到一种创建自引用一对一映射的方法。

1 个答案:

答案 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> 

您可以阅读这些答案以获取有关

的更多信息