假设我们有一个类 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>
我试图弄清楚我应该在上面显示的休眠文件中包含什么,以便我可以将可能包含 C、D 和 E 类对象的listOfBs存储在数据库中,因此listOfBs上的每个对象都应该转到适当的数据库中的表。请注意,我使用具有隐式多态策略的每个具体类的表来映射休眠上的继承。
任何帮助将不胜感激。提前致谢。