Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > hibernate pagination


Автор: skhilkov 21.10.2007, 15:55
Здрасте!
Ломаю голову как же мне разрулить следующую ситуацию : мне надо с помощью хибернейта извлечь примерно 2500 записей и отправить их клиенту.  Если просто выбирать все записи, то Томкат начинает кушать более 500 мегов памяти, все тормозит, а через пару минут все-таки вылетает OutOfMemory... Попробовал вытаскивать по частям(нашел в инете) вот так:
Код

 Query result = session.createQuery("from OrisObject where :p1 < date_check").setTimestamp("p1",
                    new Timestamp(date.getTime())).setFirstResult((int)first).setMaxResults((int)fetchSize);

Тут вообще не понял ничего... Мне вернулся список из fetchSize копий первого элемента таблицы  smile 
Может кто сталкивался с этой траблой, а?

Env - Hibernate3, MySQL, Tomcat5.5

Автор: skhilkov 25.10.2007, 17:59
Ну очень долго разбирался с этой проблемой..... Дело оказалось вовсе не с памятью!! Дело оказалось в том, что товарищи из hibernate не реализовали(точнее хрен пойми как реализовали) возможность наследования с использованием НЕ первичного ключа родительской таблицы!!! О чем свидетельствует http://opensource.atlassian.com/projects/hibernate/browse/HHH-1829 ссылка. Только вот одно меня выбесило - ну если не поддерживаете вы возможность наследования с помощью property-ref, ну не надо тогда определять это свойство у <key> элемента!!! И не надо тогда писать в http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration-key что 
Цитата

property-ref (optional): Specifies that the foreign key refers to columns that are not the primary key of the orginal table. (Provided for legacy data.)

Такие вот дела... вопрос закрыт.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)