Что по этому поводу:
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=?
Кажется довольно эффективным.