|
|
|
Переменные в Hibernate
|
|||
|---|---|---|---|
|
#18+
Господа! Необходимо сделать такую выборку из базы 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 возвращаемых значения в таком случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 11:22 |
|
||
|
Переменные в Hibernate
|
|||
|---|---|---|---|
|
#18+
Судя по всему, нужно использовать обычное соединение JDBC, и Hibernate в данном случае не поможет. Получи соединение у сессии, создай PreparedStatement, привяжи перевенные, выполни запрос и прочитай данные из ResultSet. А упаковать их можно куда угодно, например, в ту же Map. Главное - не забывать закрывать statement-ы и resultset-ы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 17:15 |
|
||
|
Переменные в Hibernate
|
|||
|---|---|---|---|
|
#18+
То есть когда мы делаем запрос 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]; .... } Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 11:35 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33677802&tid=2149520]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 452ms |

| 0 / 0 |
