Olá, tudo bem?
Vamos ver hoje como fazer uma paginação de um datatable JSF utilizando o modelo lazy em um managed bean de view scope. Quantos termos complicados em uma frase apenas.
Existem diversos frameworks JSF hoje no mercado que nos fornecem datatables prontos com paginação, ordenação e outras mais vantagens. Iremos utilizar como exemplo hoje o datatable do Primefaces.
É comum o datatable pegar todo a lista a ser exibida e alocar na sessão do usuário do servidor. Esse ato de alocar tudo na memória tem um impacto direto no desempenho do nosso servidor; cada usuário que exibir um datatable desse modo estará alocando mais espaço na memória do servidor.
Para ficar um pouco mais parecido com a vida real, no post de hoje será utilizado JPA e o HSQLDB como banco de dados, realizando as consultas com JPQL.
Ao final do post você irá encontrar o link para download do código fonte.
Iremos utilizar:
- JSF 2.0 – Implementação JBoss 7
- JBoss 7.1 – o tema proposto nesse post se aplica a qualquer servidor
- Eclipse Indigo
- JPA 2.0 – Implementação JBoss 7
- HSQLDB (2.2.8) – O HSQL é um banco que roda na memória, apenas para facilitar nossa configuração.
- Primefaces 3.2
Só para esclarecer, esse post não visa boas práticas ou colocar as devidas camadas de padrões de projetos. Pretendo apenas mostrar como aplicar paginação sem utilizar um managed bean de sessão.

