На моем пути изучения Hibernate я поражен, поэтому вам нужно ваше предложение.
У меня есть три класса A, B, C и есть родительский класс.
Эти три класса представляют только три аспекта, но в базовой базе данных они сопоставлены с одной и той же таблицей.
В моем родительском классе у меня есть ссылки на эти три класса как
private Set<A> airTransport =new HashSet<A>();
private Set<B> roadTransport=new HashSet<B>();
private Set<C> trainTransport=new HashSet<C>();
и в родительском файле hbm я сопоставил их как
<set name="A" table="Test" inverse="true" lazy="true" cascade="save-update, delete">
<key>
<column name="PARENTID" />
</key>
<one-to-many class="A" />
</set>
<set name="B" table="TEST" inverse="true" lazy="true" cascade="save-update, delete">
<key>
<column name="PARENTID" />
</key>
<one-to-many class="B" />
</set>
<set name="C" table="TEST" inverse="true" lazy="true" cascade="save-update, delete">
<key>
<column name="PARENTID" />
</key>
<one-to-many class="C" />
</set>
У меня также есть еще один класс, который я отобразил как составной элемент внутри трех классов A, B и C
в моей базе данных у меня есть три записи в тестовой таблице, одна для класса A, одна для класса B и последняя для класса C
моя структура таблицы
UUID
PARENTID
Other Fields
когда я извлек свой объект ParentClass и проверил размер Set, он дает мне следующие цифры
набор для класса А имеет 3 элемента
в то время как наборы классов B и C имеют по 1 элементу каждый, и это создает проблемы при удалении объекта.
Я не понимаю, почему это так.
любая идея / предложение в этом отношении будет полезным