Hibernate映射

时间:2011-05-06 04:12:39

标签: hibernate

有两个对象,父母和孩子 父母和孩子都实现了颜色 子和父按一对多关系映射。 但是,只有父映射到颜色列,其中颜色列仅存在于父表上。 是否可以通过hibernate映射将子颜色映射到父颜色?

父母表 id颜色

CHID TABLE id parent_id

所以我可以在不使用别名的hibernate“child c where c.colour”中使用以下内容。 如果可能的话,请提前给我一些例子。谢谢。

1 个答案:

答案 0 :(得分:0)

这不是您要求的解决方案,但为什么不在getColour中实施Child方法:

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

并使用:

Child c where c.parent.color = ?

在HQL中?

这样,您的域对象的用户将在getColor()类上使用Child方法,它实际上来自parent(在数据库中实现)。您可以在DAO层(这是HQL查询所在的位置)中隐藏此间接。您甚至可以使color成员Parent成为private并使用反射来实施Child.getColor()。 : - )