Hibernate TABLE_PER_CLASS с @MappedSuperclass не будет создавать запрос UNION
Я пытаюсь создать серию объектов, которые все хранятся в отдельных таблицах, но есть набор общих полей для всех этих таблиц. Я хочу, чтобы Hibernate сделал UNION из всех этих таблиц, но НЕ ВКЛЮЧАЕТ суперкласс как таблицу.
Когда я аннотирую суперкласс просто: @MappedSuperclass @Inheritance(стратегии = InheritanceType.TABLE_PER_CLASS)
... hibernate будет запускать (n) запросов отдельно для (n) подтипов суперкласса.
Когда я удаляю @MappedSuperclass и вместо этого помещаю @Entity в суперкласс, Hibernate выполнит причудливый запрос UNION, но включит суперкласс в виде таблицы в UNION (для суперкласса нет таблицы).
Как получить в UNION вместе все подклассы (не отдельные запросы), не делая родительский класс @Entity (потому что это не сущность, для нее нет таблицы)?
1 ответ
Я обнаружил, что пометка родительского класса как "абстрактного" сделала свое дело, Hibernate больше не включал его в UNION и объединил вместе UNION все подклассы.