Hibernate TABLE_PER_CLASS с @MappedSuperclass не будет создавать запрос UNION - PullRequest
3 голосов
/ 09 июля 2011

Я пытаюсь создать серию объектов, которые все хранятся в отдельных таблицах, но есть набор общих полей для всех этих таблиц.Я хочу, чтобы Hibernate сделал UNION из всех этих таблиц, но НЕ ВКЛЮЧАЕТ суперкласс в виде таблицы.

Когда я аннотирую суперкласс просто: @MappedSuperclass @Inheritance (стратегии = InheritanceType.TABLE_PER_CLASS)

... hibernate будет запускать (n) запросов отдельно для (n) подтипов суперкласса.

Когда я удаляю @MappedSuperclass и вместо этого помещаю @Entity в суперкласс, Hibernate будет выполнять причудливый СОЮЗзапрос, но включает суперкласс в виде таблицы в UNION (нет таблицы для суперкласса).

Как передать его в UNION вместе все подклассы (не отдельные запросы), не делая родительский класс@Entity (потому что это не сущность, для нее нет таблицы)?

1 Ответ

4 голосов
/ 09 июля 2011

Я обнаружил, что пометка родительского класса как "абстрактного" сделала свое дело, Hibernate больше не включал его в UNION и сделал UNION вместе всех подклассов.

...