Qual é a melhor maneira de apresentar dados a partir de um grande conjunto de resultados?
-
01-07-2019 - |
Pergunta
Eu estou escrevendo uma exibição de relatório de uma trilha de auditoria, e eu preciso para exibir isso em um JSP. Qual é a "melhor" maneira de obter os dados do banco de dados para a tela?
Estamos usando Spring para injeção de dependência, Data Access Objects, e Hibernate. Eu posso usar o Hibernate ou JDBC direto para este relatório.
Se eu carregar todos os registros na memória eu ficar sem memória.
Todas as idéias que não envolvem executar a consulta no jsp?
Solução
Parece que este é um lugar natural para uso paginação dos seus resultados Hibernate - executar a consulta no nível de Servlet, e os resultados paginar de uma forma semelhante à forma como essa pessoa descreve:
http: //blog.hibernate .org / Bloggers / Everyone / Ano / 2004 / Mês / 08 / Dia / 14 # pagination
Este é o método mais fácil de implementar Hibernate pagination eu vi ...
Outras dicas
O exibição de identificação Biblioteca é muito bom em apresentar conjuntos de resultados paginados em servlets ou portlets. Mas normalmente trabalha com toda a lista carregado na memória. Então você terá que fazer um pouco de trabalho para obtê-lo para trabalhar com conjuntos de resultados paginada implementando a interface org.displaytag.pagination.PaginatedList
. Há um tutorial no site exibição de identificação. Não há muito para o tutorial mas mais uma vez implementar a interface é muito fácil.
Apenas uso de paginação e só carregar um certo número de linhas na página de cada vez.
Outra maneira de fazer isso é usar scroll () para transmitir uma linha no momento.