Каков наилучший способ представления данных из очень большого результирующего набора?
-
01-07-2019 - |
Вопрос
Я пишу представление отчета для журнала аудита, и мне нужно отобразить это в файле .jsp.Какой "лучший" способ вывести данные из базы данных на экран?
Мы используем Spring для внедрения зависимостей, объектов доступа к данным и гибернации.Я могу использовать hibernate или прямой jdbc для этого отчета.
Если я загружу все записи в память, у меня закончится память.
Есть какие-нибудь идеи, которые не связаны с выполнением запроса в jsp?
Решение
Похоже, что это естественное место для разбиения результатов Hibernate на страницы - запустите запрос на уровне сервлета и разбейте результаты на страницы способом, аналогичным тому, как описывает этот человек:
http://blog .hibernate.org/Bloggers/Everyone/Year/2004/Month/08/Day/14#pagination
Это самый простой метод реализации разбивки на страницы в режиме гибернации, который я видел...
Другие советы
Тот Самый Отображать Библиотеку тегов очень хорош для представления разбитых на страницы результирующих наборов в сервлетах или портлетах.Но обычно это работает со всем списком, загруженным в память.Таким образом, вам придется проделать небольшую работу, чтобы заставить его работать с разбитыми на страницы результирующими наборами, реализовав org.displaytag.pagination.PaginatedList
интерфейс.Существует Учебник на веб-сайте с тегом Отображения.В руководстве не так уж много информации, но, с другой стороны, реализовать интерфейс довольно просто.
Просто используйте подкачку и загружайте только определенное количество строк на странице за один раз.
Другой способ сделать это - использовать scroll() для потоковой передачи одной строки за раз.