LazyDataModel

Bom dia galera…

Estou tentando utilizar LazyDataModel(primefaces) em um aplicatvo de controle de patrimônio público, e não está listando dados não consigo encontrar o erro.

No meu caso trabalho com um DAO generico que possui o seguinte código:

[code]public List listaTodosPaginada(int firstResult, int maxResults) {
EntityManager em = new JPAUtil().getEntityManager();
CriteriaQuery query = em.getCriteriaBuilder().createQuery(classe);
query.select(query.from(classe));

	List<T> lista = em.createQuery(query).setFirstResult(firstResult)
			.setMaxResults(maxResults).getResultList();

	em.close();
	return lista;
}

public int contaTodos() {
	EntityManager em = new JPAUtil().getEntityManager();
	long result = (Long) em.createQuery("select count(p) from Patrimonio p").getSingleResult();
	em.close();
	
	return (int) result;
}[/code]

Classe DataModel que extende LazyDataModel:

[code]public class DataModelPatrimonios extends LazyDataModel {

private static final long serialVersionUID = -588273882186649739L;

public List<Patrimonio> load(int inicio, int quantidade, String campoOrdenacao, boolean sentidoOrdenacao, Map<String,String> filtros) {
	
	DAO<Patrimonio> dao = new DAO<Patrimonio>(Patrimonio.class);
	return dao.listaTodosPaginada(inicio, quantidade);
}

@Override
public List<Patrimonio> load(int arg0, int arg1, String arg2,
		SortOrder arg3, Map<String, String> arg4) {
	// TODO Auto-generated method stub
	return null;
}[/code]

e o Bean:

[code]public class ListaPatrimoniosBean {

private LazyDataModel<Patrimonio> dataModel;

public ListaPatrimoniosBean() {
	this.dataModel = new DataModelPatrimonios();
	
	DAO<Patrimonio> dao = new DAO<Patrimonio>(Patrimonio.class);
	this.dataModel.setRowCount(dao.contaTodos());
	this.dataModel.setPageSize(5);
}[/code]

Dá uma olhada nesse post: Lazy JSF Datatable Pagination (Primefaces).

Ele mostra um passo a passo de como fazer.