2013-10-24 68 views
0

簡化爲清楚起見Hibernate的一個一對一映射將錯誤

可以說我有2個表,像這樣:
表名大廈
(2)色譜柱:
* buildPrimaryKey,
* addrForeignKey


表名地址
(1)專欄:
* addrPrimaryKey

我想有休眠地圖
大廈。 addrForeignKey到Address.addrPrimaryKey

相反Hibernate是映射
大廈。 buildPrimaryKey到Address.addrPrimaryKey

下面
Building.hbm.xml

當前地圖文件......
​​
......

地址.hbm.xml
......
<id name="addrPrimaryKey" type="java.lang.Long" column="addrPrimaryKey">
<generator class="increment"/>
</id>

......

我錯過了什麼或者錯誤地定義了什麼?

**看着類似的堆棧溢出問題我嘗試了顛倒一對一的元素,但這樣做時得不到解析映射錯誤。

+0

顯示您bean類討好。 – mvb13

回答

0

最終通過使用一個多到一映射(儘管不是實際關係)解決了這個

在Building.hbm.xml
< 多到一個名稱=「VAR_ADDR」 - 所包含的類
類=「com.Address」建築對象的--class以上
列變量名=「addrForeignKey」 --the有關外鍵
級聯=「save-更新「- 不知道這是什麼小號確實誠實
獨特=「真」 />--hackish執行一個一對一映射

Address.hbm.xml方式 - 不需要與此相關的映射信息

共I」我們發現對象到對象的映射對於hibernate來說是非常不直觀的(在這種情況下是實際的多對一或多對多映射),以及我可用的書籍,比如建議這種多對一映射的作爲一個工作,似乎同意。我可能會在未來嘗試註釋,希望他們更清楚。