Каков наилучший способ представления данных из очень большого результирующего набора?

StackOverflow https://stackoverflow.com/questions/95886

Вопрос

Я пишу представление отчета для журнала аудита, и мне нужно отобразить это в файле .jsp.Какой "лучший" способ вывести данные из базы данных на экран?

Мы используем Spring для внедрения зависимостей, объектов доступа к данным и гибернации.Я могу использовать hibernate или прямой jdbc для этого отчета.

Если я загружу все записи в память, у меня закончится память.

Есть какие-нибудь идеи, которые не связаны с выполнением запроса в jsp?

Это было полезно?

Решение

Похоже, что это естественное место для разбиения результатов Hibernate на страницы - запустите запрос на уровне сервлета и разбейте результаты на страницы способом, аналогичным тому, как описывает этот человек:

http://blog .hibernate.org/Bloggers/Everyone/Year/2004/Month/08/Day/14#pagination

Это самый простой метод реализации разбивки на страницы в режиме гибернации, который я видел...

Другие советы

Тот Самый Отображать Библиотеку тегов очень хорош для представления разбитых на страницы результирующих наборов в сервлетах или портлетах.Но обычно это работает со всем списком, загруженным в память.Таким образом, вам придется проделать небольшую работу, чтобы заставить его работать с разбитыми на страницы результирующими наборами, реализовав org.displaytag.pagination.PaginatedList интерфейс.Существует Учебник на веб-сайте с тегом Отображения.В руководстве не так уж много информации, но, с другой стороны, реализовать интерфейс довольно просто.

Просто используйте подкачку и загружайте только определенное количество строк на странице за один раз.

Другой способ сделать это - использовать scroll() для потоковой передачи одной строки за раз.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top