【发布时间】:2013-06-24 17:33:07
【问题描述】:
假设我们有一个 A 类,它有一个 B 类对象列表 (List<B> listOfBs)。在数据库设计中,这意味着代表 B 类的表应该有一个外键来引用代表 A 类的表的行。现在,B 类是 C、D 和 E 类的超类。
我的 A 类休眠映射文件如下,可以很好地将 A 类条目存储到数据库中,同时还可以级联包含在 A 类列表中的多个 B 类条目。
A 类休眠映射文件:
<hibernate-mapping package="...">
<class name="A" table="table_of_A">
<id name="key" column="A_ID">
<generator class="native"/>
</id>
<property name="...." type="long"/>
<property name="...." type="string"/>
<list name="listOfBs" access="field" cascade="all">
<key column="A_ID" not-null="true" />
<list-index column="idx"/>
<one-to-many class="B"/>
</list>
</class>
</hibernate-mapping>
我试图弄清楚我应该在上面显示的休眠文件中包含什么,以便我可以将 listOfBs 存储在数据库中,它可能包含 C、D 和 E 类的对象,因此每个listOfBs 上的对象应转到数据库中的相应表。 请注意,我使用具有隐式多态策略的每个具体类的表来映射休眠上的继承。
任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
我在下面的链接上做了更详细的描述:Detailed Description Link
标签: java hibernate polymorphism hibernate-mapping