![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Shaggie |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 1 Всего: 72 |
Есть таблица person. SELECT * FROM person выводит:
id | name ----+------ 1 | Jerry ----+------ 7 | Mike В программе использую hibernate и результаты получаю так:
В итоге имеем List объектов Person. Мне же в целевом проекте удобнее было бы использовать Map, точнее, TreeMap, где key мапа был бы равен значению поля id таблицы (которое является одновременно уникальным primary key), а value был бы сам объект Person. То есть в случае необходимости можно было бы без перебора всего List в поисках нужного id получать его сразу, просто обратившись к мапу и передав его итератору номер объекта. Пример:
Конечно, можно получать List объектов и в цикле перегонять его в Мап. Однако есть мнение, что это не будет эффективно... Есть возможность создавать такой мап программно средствами hibernate в процессе загрузки результатов? Чтобы session.createQuery("FROM Person") возвращал готовый мап? |
||||
|
|||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 1 Всего: 72 |
Нашёл что-то более или менее эффективное в документации. Запросом следует вернуть не список, а итератор:
Спасибо, что прочитали тему. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 11 Всего: 151 |
Shaggie, спасибо за инфу.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |