【发布时间】:2010-11-09 19:31:41
【问题描述】:
想弄清楚这个映射,我脑子抽筋了。
这是我的数据库:
CUSTOMER CUSTOMERFAMILY CUSTOMER
PK SITE_ID -----------PRIMARYSITE_ID -- PK SITE_ID
MEMBERSITE_ID -------------|
这会创建一种关系,其中客户只能有一个父级(因为对 CUSTOMERFAMILY.MEMBERSITE_ID 有唯一的约束),而客户可以有多个子级。 (即百事公司拥有菲多利、佳得乐等,因此百事可乐将有几个孩子,但佳得乐只有一个父母:百事可乐)。
我正在尝试在我的 Customer 对象中映射一个名为 parent 的属性,我已经尝试了这个想法的许多组合但没有成功:
<join table="CUSTOMERFAMILY" inverse="false">
<key column="MEMBERSITE_ID" unique="true" />
<many-to-one name="parent" column="SITE_ID" not-null="true"><formula>PRIMARYSITE_ID</formula></many-to-one>
</join>
有什么想法吗??
提前致谢。
(请不要问为什么数据库是这样设计的......遗留系统,不是我的!;))
【问题讨论】: