我正在尝试使用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:批量更新从update [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>