0
Есть 2 таблицы, которые отображаются в 1 класс. Это работает, но когда я хочу обновить объект, я не знаю, из какой таблицы он пришел. Есть способ сохранить или получить имя объекта?Hibernate получить значение имени объекта
Mapping:
<hibernate-mapping>
<class name="model.object.ObjectAttributeType" table="OBJECTPARAMETERTYPE" entity-name="OBJECTPARAMETERTYPE">
...
</class>
<class name="model.object.ObjectAttributeType" table="OBJECTPROPERTYTYPE" entity-name="OBJECTPROPERTYTYPE">
...
</class>
</hibernate-mapping>
Да, это вариант, но чем подклассы будет полностью пустой. И я бы работал только в том случае, если мог установить переменную корыто hbm или получить имя объекта. – ThijsJ
Этот ответ правильный, вам просто нужно обновить hbm для сопоставления подклассам, а не суперклассам. Я бы сказал, что вы неправильно используете спящий режим, поэтому обычно должно быть сопоставление между собой между таблицами базы данных и объектами Java. Подумайте об этом с точки зрения единой ответственности, он имеет смысл хранить два разных набора данных в одном и том же объекте. По сути, у вас есть две таблицы для начала! – ConMan