我正在尝试使用 XML 映射文件映射String、SuperClass的映射集合。这是我所拥有的:
<map name="mapName" cascade="all-delete-orphan">
<key column="ID" />
<index column="KEY" type="string" />
<one-to-many class="SuperClass" />
</map>
SuperClass 有(目前是一个,但将来可能需要更多)一个子类,我将其称为 SubClass。所以我在地图中有一堆 SubClass 和 SuperClass 对象,当 Hibernate 在添加它们后尝试搜索它们时,我得到一个
org.hibernate.StaleStateException:批量更新从更新 [0] 返回了意外的行数;实际行数:0;预期:1
当地图中的对象实际上也有一些SubType时,我很确定 Hibernate 正在寻找SuperType类型的类。
以下是如何为层次结构完成映射的要点,以防您需要更好地表示我正在谈论的内容:
<class name="SuperClass" table="SUPER_CLASS">
...properties...
(contains some <component> tags as well if it matters)
<union-subclass name="SubClass" table="SUBCLASS">
...more properties...
</union-subclass>
</class>