我正在努力將他的地址保存在一起。我有人與地址之間的一對一映射。人員類有地址實例。當我創建人表地址表也創建。直到這裏沒有問題。但是,當我試圖挽救人,地址沒有得到saved.Here是我的映射文件保存一對一的關聯在休眠?
<hibernate-mapping>
<class name="com.daasl.Person" table="person">
<id name="id" type="int">
<generator class="increment"/>
</id>
<property name="name" column="cname" type="string"/>
<one-to-one name="address" class="com.daasl.Address"/>
</class>
<class name="com.daasl.Address" table="Address">
<id name="id" type="int">
<generator class="increment"/>
</id>
<property name="personId" type="int"/>
<property name="addressLine1" type="string"/>
</class>
</hibernate-mapping>
我不知道怎麼會在這裏建立外鍵關係(基本上,我想在地址表的人id作爲外鍵的人表),當我將數據保存到人表時,地址也應該被保存,而現在不會發生。類似地,我檢索數據,我也應該得到地址數據。
向我們顯示您的代碼。但可以肯定的是,你不應該在地址中有personId(int)字段,而是一個person(或Person類型)字段。這將是相反的一對一關聯。閱讀http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#assoc-bidirectional-join-121 –