2011-05-06 166 views
0

父对象和子对象有两个对象 父对象和子对象实现颜色 子对象和父对象通过一对多关系进行映射。 但是,只有父图映射到颜色列,其中颜色列仅在父表上存在。 是否可以通过hibernate映射将子颜色映射到父颜色?休眠映射

父表 ID颜色

CHID表 ID PARENT_ID

所以我可以使用休眠中下面的“子C其中c.colour”不使用别名。 如果可能,请提供一些例子,谢谢。

回答

0

这是不太你要求的解决方案,但为什么在Child不落实getColour方法:

public Color getColor() { return this.parent.getColor(); } 

及用途:

Child c where c.parent.color = ? 
在HQL

这样,你的域对象的用户将在Child类上有一个getColor()方法,它真的从它的parent(如在DB中实现的那样)获得。你可以在DAO层(这是HQL查询所在的位置)隐藏这个间接寻址。您甚至可以使Parent类的color成员private类和使用反射实施Child.getColor()。 :-)