将外键作为xml一对一映射中的主键

时间:2014-11-13 20:54:37

标签: hibernate

我有两个实体Person和Address。我有以下一对一的关系: 1Person -----> 1地址。 Person类将personId作为主键,将addressId作为外键。我需要我的外键addressId作为我的地址实体的主键。到目前为止,我在映射xml文件中有这个:

<id name="addressId" type="int" column="ADDRESS_ID">
<generator class="foreign">
<param name="property">person</param>
</generator>
</id>

但这样做会从Person实体获取主键并将其设置为Address实体的主键。如何将Address实体中的addressId设置为Address实体中的主键?请帮忙......

1 个答案:

答案 0 :(得分:0)

好的,请你试试看,告诉我它是否有效?

 <class name="Person">
        <id name="personId" column="personId">
            <generator class="native"/>
        </id>
        <one-to-one name="address" cascade="all"/>
    </class>

    <class name="Address">
        <id name="addressId" column="addressId">
            <generator class="foreign">
                <param name="property">person</param>
            </generator>
        </id>
        <one-to-one name="person" constrained="true"/>
    </class>