возвращая карту в HQL - PullRequest
       15

возвращая карту в HQL

2 голосов
/ 05 августа 2011

Я просматривал документацию по Hibenate и обнаружил, что можно вернуть карту из HQL, используя код:

select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n ) 
from Cat cat 

Но я не могу понять, когда я выполняю запрос, как получить карту и использовать псевдоним для получения каждого столбца.

Методом получения результатов является либо query.list of query.iterate. Какую функцию вызывать, если мне нужно получить результат в виде карты и как извлечь каждый столбец из карты, используя псевдоним.

спасибо

1 Ответ

1 голос
/ 05 августа 2011

В подобных ситуациях я использую отладчик, чтобы увидеть, что на самом деле возвращается. В этом случае запрос не возвращает строки, он возвращает только три значения: max, min и n. Таким образом, вы можете получить результат и сделать что-то вроде

resultMap.get("max");

потому что в hql вы сказали hibernate пометить результат для max как 'max'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...