Как сделать оптимальный запрос гибернации с тремя объектами? - PullRequest
2 голосов
/ 28 сентября 2010

У меня есть запрос, но я не знаю, как сделать его оптимальным.У меня есть три объекта.

  • SCP
  • Вопрос: у него есть поле, которое указывает SCP (SCP_id)
  • Ответ: у него есть поле, указывающее вопрос (question_id)

Как мне сделать запрос, который подсчитывает количество ответов в пределах данного SCP

1 Ответ

1 голос
/ 29 сентября 2010

Что по этому поводу:

select count(a) 
from Answer a 
where a.question.scp.id = :id

, который генерирует следующий SQL:

select
  count(answer0_.id) as col_0_0_ 
 from
  Answer answer0_,
  Question question1_ 
 where
  answer0_.question_id=question1_.id 
  and question1_.scp_id=?

Кажется довольно эффективным.

...