Olá pessoal,
Há alguma maneira de fazer paginação evitando requisições a todo momento (de mudança de página)
sem ter q implementar o LazyDataModel (q vi inúmeros exemplos, aparentemente simples demais!!! mas
que n consegui implementar no meu código).
O escopo da minha página é ConversationScoped e coloquei um print no método q carrega a lista e olha o resultado
a cada mudança:
[quote]
FINE: SELECT … RELAÇÃO DOS CAMPOS… ORDER BY nome ASC
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv
INFO: 22 conv[/quote]
As conversations são incrementadas a cada mudança de página, a menos que eu acesse outra pagina (por conversation), daí
as requisições param e fica como “deveria” ser ![:slight_smile: :slight_smile:](//www.guj.com.br/images/emoji/twitter/slight_smile.png?v=6)
Falews!!!
Se você fizer algo como: [code]public List getCarros(){
if(carros == null){
carros = // carrega do DB
}
return carros;
}[/code] não importa quantas vezes chamar, a lista já vai estar em memória.
Já tentei algo assim, acho q vi em algum post, se n estou enganado, seu mesmo,
mas n rolou por aqui.
Coloquei num método e na propriedade get.
public List<Escola> getListEscolaByUsuario() {
if (listEscolaByUsuario == null) {
System.out.println("SEMPRE NULL");
listEscolaByUsuario = escolaDAO.getList();
return listEscolaByUsuario;
}
return listEscolaByUsuario;
}
E sem chance, está sempre indo ao banco, sempre imprimindo SEMPRE NULL,
vou futucar mais um pouco pra v até onde isso vai…
Acho q o problema é pq está criado várias conversations, se saio da tela abrind conversation e retorno
com a mesma conversation, o acesso ao banco n acontece, mas se abro a tela, tento abrir a conversation
e sem sair da tela, clico na paginação do DataTable, daí ele cria outra conversation e daí ferra…
Mudei o scopo do controller INDEX (q chama a pagina com controller q tem essas requisições - DataTable), de
Session (havia informações que seria interessantes se estivessem no scopo session) para Conversation
dando início a uma conversation qdo chamo a pagina com o DataTable, mas acho q isso ficou meio armengado.
Mas era isso mesmo, o scopo conversation, dou início nele a partir do Index e ficou ok, então
vou deixar o tópico como resolvido, pois pelo menos é como ficou. rs.
Falews.