Fórum Java + Hibernate + (JSF)Primefaces #589935
19/12/2017
0
Será que alguém pode me dar uma ajuda, por favor. :’(
Já segui vários vídeos e tutoriais na internet, mas, sempre retorna erro.
Aparentemente para mim esta tudo certo, mas não carrega a os dados.
O principal problema é isso
Lazy loading is not implemented.
Controler da DataTable
DAO
Xhtml
Já segui vários vídeos e tutoriais na internet, mas, sempre retorna erro.
Aparentemente para mim esta tudo certo, mas não carrega a os dados.
O principal problema é isso
Lazy loading is not implemented.
Controler da DataTable
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | private LazyDataModel<Pessoa> dataModel; public LazyDataModel<Pessoa> getDataModel() { return dataModel; } @PostConstruct public void init() { this .dataModel = new LazyDataModel<Pessoa>() { private static final long serialVersionUID = 1L; @Override public ArrayList<Pessoa> load( int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { setRowCount( new PessoaDAO().getTotalRegistros().intValue()); return (ArrayList<Pessoa>) new PessoaDAO().consultaPaginacao(first, pageSize, sortField, SortOrder.ASCENDING.equals(sortOrder)); } }; } |
DAO
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | public List<Pessoa> consultaPaginacao( int first, int pageSize, String sortField, boolean asc) { ArrayList<Pessoa> listaRetorno = new ArrayList<>(); EntityManager manager = new JpaUtil().getEntityManagerFactory(); try { Query consulta = (Query) manager.createQuery( "from Pessoa" ); consulta.setFirstResult(first); consulta.setMaxResults(pageSize); listaRetorno = (ArrayList<Pessoa>) consulta.getResultList(); } finally { manager.close(); } return listaRetorno; } public Long getTotalRegistros() { Long lngRetorno = 0L; EntityManager manager = new JpaUtil().getEntityManagerFactory(); try { Query consulta = (Query) manager.createQuery( "SELECT count(t) from Pessoa as t" ) .getSingleResult(); lngRetorno = (Long) consulta.getSingleResult(); } finally { manager.close(); } return lngRetorno; } |
Xhtml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <p:dataTable var= "pessoa" value= "#{controlerPessoa.dataModel}" paginator= "true" paginatorTemplate= " " rowsPerPageTemplate= "5,10,15" rows= "5" lazy= "true" sortMode= "multiple" > <p:column headerText= "Id" > <h:outputText value= "#{pessoa.idPessoa}" /> </p:column> <p:column headerText= "Nome" > <h:outputText value= "#{pessoa.nomePessoa}" /> </p:column> </p:dataTable>` |

Marcio Doas
Curtir tópico
+ 0
Responder
Posts
03/01/2018
Rander Freitas
Olá Marcio,
Na documentação do primefaces tem vários exemplos de como se implementa essa classe lazydatamodel. Segue o link:
https://www.primefaces.org/showcase/ui/data/datatable/lazy.xhtml
No exemplo acima, basta clicar na aba LazyCarDataModel.java para você ver um exemplo de como implementar os métodos dessa classe.
Na documentação do primefaces tem vários exemplos de como se implementa essa classe lazydatamodel. Segue o link:
https://www.primefaces.org/showcase/ui/data/datatable/lazy.xhtml
No exemplo acima, basta clicar na aba LazyCarDataModel.java para você ver um exemplo de como implementar os métodos dessa classe.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)