Отображение коллекции карт, содержащей суперклассы, в Hibernate

Я пытаюсь сопоставить коллекцию карт String, SuperClass, используя файлы сопоставления XML. Вот что у меня есть:

<map name="mapName" cascade="all-delete-orphan">
    <key column="ID" />
    <index column="KEY" type="string" />
    <one-to-many class="SuperClass" />
</map>

Суперкласс имеет (в настоящее время один, но, вероятно, в будущем понадобится еще немного) подкласс, который я собираюсь назвать подклассом. Итак, у меня есть несколько объектов SubClass и SuperClass на карте, и когда Hibernate пытается найти их после добавления, я получаю

org.hibernate.StaleStateException: пакетное обновление вернуло неожиданное количество строк из обновления [0]; фактическое количество строк: 0; ожидается: 1

Я уверен, что Hibernate ищет классы типа SuperType, когда объекты на карте также имеют некоторые SubType.

Вот суть того, как было сделано сопоставление для иерархии на тот случай, если вам нужно лучшее представление того, о чем я говорю:

<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 ответов

Другие вопросы по тегам