2013-10-24 56 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来说是非常不直观的(在这种情况下是实际的多对一或多对多映射),以及我可用的书籍,比如建议这种多对一映射的作为一个工作,似乎同意。我可能会在未来尝试注释,希望他们更清楚。