hibernate - Hibernate 中的自引用一对一映射

标签 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>  

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

最佳答案

使用多对一 单向关联。参见 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/

相关文章:

java - 性能问题持续存在/使用 JPA 更新大量对象

oracle - 去除外键约束、参照完整性和 hibernate

hibernate 一对一: AnnotationException Referenced property not a (One|Many)ToOne

php - Doctrine SoftDelete 一对一关系

python - __file__ 变量是什么意思/做什么?

oracle - Grails域:找不到ID获取

Java hibernate : Persist automatically after setting a field

java - 使用代理的惰性一对一不起作用

C 结构函数指针传递自引用作为参数

mysql - 需要查询自引用表以查找不是任何项目的父项的所有项目