在Hibernate中映射包含超类的地图集合

时间:2017-07-14 08:47:33

标签: java hibernate inheritance polymorphism hibernate-xml-mapping

我正在尝试使用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>

0 个答案:

没有答案