| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java tools & IDE's > Hibernate загружает результаты в Map? |
| Автор: Shaggie 21.6.2007, 10:14 | ||||
| Есть таблица 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 28.6.2007, 12:25 | ||
Нашёл что-то более или менее эффективное в http://www.hibernate.org/hib_docs/reference/en/html/objectstate.html#objectstate-querying-executing-iterate. Запросом следует вернуть не список, а итератор:
Спасибо, что прочитали тему. |
| Автор: batigoal 28.6.2007, 15:07 |
| Shaggie, спасибо за инфу. |