如何使用三个对象进行最佳的hibernate查询?

时间:2010-09-28 09:22:30

标签: hibernate orm hql

我有一个查询,但我不知道如何使其达到最佳状态。我有三个对象。

  • SCP
  • 问题:它有一个指向SCP的字段(SCP_id)
  • 答案:它有一个指向问题(question_id)的字段

如何进行查询以计算给定SCP中的答案数

1 个答案:

答案 0 :(得分:1)

这个怎么样:

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=?

似乎很有效率。