Hibernate запрос по супертипу возвращает мне результаты из подтипов. Как я могу вернуть только результаты из супертипа? - PullRequest
0 голосов
/ 28 апреля 2011

Можно ли сделать запрос гибернации только по супертипу?

У моего супертипа, который называется Conversation, есть свой собственный hbm. Разговор - это супертип «Идея и вопрос», который также имеет свой собственный hbm.

Если я сделаю запрос на подсчет в своем супертипе Conversation, он также вернет счетчик Idea & Question. Как я могу избежать этого?

Пример:

У меня есть

  • 3 идеи
  • 4 вопроса
  • 1 разговор

Если я сделаю запрос на количество идей, он вернется 3 Если я сделаю запрос на Вопросы, он вернется 4 Если я сделаю запрос на разговор, он вернет 3 + 4 + 1 = 8

Я хочу, чтобы запрос только возвращал мне 1 (только разговоры)

1 Ответ

1 голос
/ 28 апреля 2011

Как насчет select count(c.id) from Conversation c where c.id not in (select i.id from Ideas i) or c.id not in (select q.id from Questions q)

...