【发布时间】:2015-05-11 17:42:51
【问题描述】:
我想跨子类映射相同的键列,本示例的 parent_id。 ClientProfileDO 和 BusinessProfileDO 都继承自 UserProfileDO。它们在同一张表 USERPROFILE 上。因此,它们在 Contact 表中引用相同的外键。是不是逻辑不正确?
<hibernate-mapping package="com.rentorama2.frontpage.client.serialize"default-lazy="false">
<class name="UserProfileDO" table="USERPROFILE">
<id name="oid" type="long" column="oid" >
<generator class="increment">
<param name="initial_value">1</param>
</generator>
</id>
<discriminator column="dcolumn" type="string" length="5"/>
<property name="acctOid">
<column name="acctOid" />
</property>
<property name="email">
<column name="email"/>
</property>
<subclass name="ClientProfileDO" discriminator-value="CP">
<list name="c_contacts" cascade="all">
<key column="parent_id" not-null="true"/>
<index column="idx"/>
<one-to-many class="Contact"/>
</list>
</subclass>
<subclass name="BusinessProfileDO" discriminator-value="BP">
<property name="b_updateAnnouncement">
<column name="updateAnnouncement"/>
</property>
<list name="b_contacts" cascade="all">
<key column="parent_id" not-null="true"/>
<index column="idx"/>
<one-to-many class="Contact"/>
</list>
</subclass>
</class>
【问题讨论】:
标签: java hibernate orm one-to-many hibernate-mapping