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