powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Класс объектов-результатов выполнения HQL-запроса
3 сообщений из 3, страница 1 из 1
Класс объектов-результатов выполнения HQL-запроса
    #34579292
Lord Carlsberg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
По ходу использования Hibernate возникли следующие вопросы:
1. К какому классу относятся объекты, возвращаемые как результат выполнения HQL-запросов? Т.е. к какому классу например будут относиться элементы списка, полученного при помощи query.list()?
2. Можно ли принудительно задавать класс этих объектов, не настраивая отображение этого класса? Например я выполняю запрос:
Код: plaintext
1.
2.
3.
4.
5.
select
	FirstMappedClass.id as id,
	avg(SecondMappedClass.someIntProperty) as resultProperty
from SecondMappedClass
	inner join SecondMappedClass.FirstMappedClass as FirstMappedClass
group by FirstMappedClass.id;
Я хочу, чтобы объекты, полученные в результате этого запроса, принадлжеали классу со свойствами id и resultProperty и методом getResultProperty. Но настроить маппинг этого класса я не могу (по крайней мере не представляю как). Как можно "заставить" Hibernate возвращеть в результате запроса объекты этого класса?
Заранее благодарен.
...
Рейтинг: 0 / 0
Класс объектов-результатов выполнения HQL-запроса
    #34579635
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по моему в твоем случае в результате будут объекты типа Object[] (точно не помню, нужно в доке смотреть)

но можно использовать и не замапленные классы:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        Query query = session.createQuery(
                "select new domain.report.OrderRow(o.number, sum(i.price)) " +
                        "from Order o " +
                        "join o.items i " +
                "group by o.number"
        );

        List list = query.list();

         int  result =  0 ;

         for  ( int  i =  0 ; i < list.size(); i++) {
            OrderRow row = (OrderRow) list.get(i);
            result += row.getProfit().intValue();
        }
...
Рейтинг: 0 / 0
Класс объектов-результатов выполнения HQL-запроса
    #34579675
Lord Carlsberg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 vas0
Вроде бы то, что надо. Большое спасибо. Побежал проверять :)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Класс объектов-результатов выполнения HQL-запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]