Сегодня я столкнулся с интересной проблемой. У меня была иерархия наследования с Hibernate JPA, со стратегией SINGLE_TABLE
. Позже я добавил суперкласс в иерархию, которая определила стратегию TABLE_PER_CLASS
. В результате вся иерархия стала вести себя как TABLE_PER_CLASS
. Это, конечно, кажется справедливым, если мы прочитаем @Inheriatance
javadoc:
Определяет стратегию наследования, которая будет использоваться для иерархии классов сущностей. Он указывается в классе сущностей, который является корнем иерархии классов сущностей.
Документы Hibernate , однако, скажите, что:
Возможно использовать разные стратегии отображения для разных ветвей одной и той же иерархии наследования
И продолжает на исключениях из этого заявления. Это делается с помощью конфигурации XML.
Итак, наконец, мой вопрос - есть ли способ (возможно, свойство гибернации) для включения вышеупомянутого поведения XML с помощью аннотаций и использования EntityManager
.