Я использую Hibernate 3.1.1 и, в частности, я использую HQL-запросы.
Согласно документации запросы Hibernate полиморфны:
Запрос типа: from Cat as cat
возвращает экземпляры не только Cat
, но и подклассов, таких как DomesticCat
.
Как я могу запрашивать экземпляры Cat, но не какого-либо из его подклассов?
Я хотел бы иметь возможность сделать это без необходимости явно упоминать каждый подкласс.
Мне известны следующие варианты, и я не нахожу их удовлетворительными:
- Ручная фильтрация экземпляров после запроса ИЛИ:
- Добавление предложения WHERE вручную в столбец дискриминатора.
Было бы разумно, чтобы Hibernate позволял пользователю решать, должен ли запрос быть полиморфным или нет, но я не могу найти такую опцию.
Заранее спасибо!