Как подсчитать строки в Hibernate Query Language?

Я пытаюсь получить только количество возвращенных строк, а не все результаты из таблицы.

Я видел, что это можно сделать так:

( (Integer) session.createQuery("select count(*) from ....").iterate().next() ).intValue()

Но при попытке сохранить этот запрос в целочисленном формате (он говорит, что невозможно преобразовать из запроса в целое число )

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

theQuery = "select count(*) from THM as thm " + 
                "join thm.TMC as tmc " +
                "join tmc.TIMCC as timcc " +
                "where thm.Qid = :Qid and thm.Cv = :Cv and timcc.Did = :Did and timcc.Cv= :Cv";

Query query = session.createQuery(theQuery);
query.setInteger("Qid", Integer.parseInt(Qid));
query.setInteger("Did", Did);
query.setInteger("Cv",cV);

Теперь, как я могу получить количество всех строк, возвращенных с помощью запроса Hibernate в переменной без использования list.size , а непосредственно из запрос?

7
задан Thomas 30 December 2011 в 12:48
поделиться