Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Переменные в Hibernate / 4 сообщений из 4, страница 1 из 1
19.04.2006, 11:22
    #33675756
slolen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменные в Hibernate
Господа!
Необходимо сделать такую выборку из базы
SELECT obj.id,
(SELECT COUNT(obj.id) FROM MyObject obj WHERE obj.state='string1'),
(SELECT COUNT(obj.id) FROM MyObject obj WHERE obj.state='string1')
FROM MyObject obj GROUP BY obj.id
Подскажите пожалуйста вариант правильного запроса.
И если обычный SELECT u FROM MyObject мы запаковываем в List -
List projects = query.list() - то куда запаковать 3 возвращаемых значения в таком случае?
...
Рейтинг: 0 / 0
19.04.2006, 17:15
    #33677251
BlackWall
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменные в Hibernate
Судя по всему, нужно использовать обычное соединение JDBC, и Hibernate в данном случае не поможет. Получи соединение у сессии, создай PreparedStatement, привяжи перевенные, выполни запрос и прочитай данные из ResultSet. А упаковать их можно куда угодно, например, в ту же Map. Главное - не забывать закрывать statement-ы и resultset-ы.
...
Рейтинг: 0 / 0
19.04.2006, 23:12
    #33677802
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменные в Hibernate
...
Рейтинг: 0 / 0
21.04.2006, 11:35
    #33681815
slolen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменные в Hibernate
То есть когда мы делаем запрос
Iterator kittensAndMothers = sess.createQuery(
"select kitten, mother from Cat kitten join kitten.mother mother")
.list()
.iterator();
то у нас кортеж запаковывается в лист таким образом, что каждый элемент List
содержит весь кортеж в той последовательности, как он был сделан в запросе, и дальше мы каждый элемент List разворачиваем в последовательность объектов

while ( kittensAndMothers.hasNext() ) {
Object[] tuple = (Object[]) kittensAndMothers.next();
Cat kitten = tuple[0];
Cat mother = tuple[1];
....
}
Спасибо.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Переменные в Hibernate / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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