Критерии гибернации: наследование: получить список только сущностей корневого класса - PullRequest
2 голосов
/ 15 июля 2010

Предположим, у меня есть:

@Inheritance(strategy = InheritanceType.JOINED)
public class Child extends Parent{
}

Как сделать выборку только из экземпляров, сохраненных как родительский, а не как дочерний.

Спасибо

1 Ответ

2 голосов
/ 15 июля 2010

Посмотрите на нижнюю часть раздела 14.9 документации Hibernate :

Специальное свойство class обращается к значению дискриминатора экземпляра в случае полиморфной персистентности. Имя класса Java, встроенное в предложение where, будет преобразовано в его значение дискриминатора.

from Cat cat where cat.class = DomesticCat

Так что я полагаю, что в вашем случае вы могли бы использовать ограничение HQL ... where class=Parent для фильтрации экземпляров Child.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...