Paginação - Hibernate com Primefaces

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

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
``
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
``
<p:dataTable var="pessoa" 
             value="#{controlerPessoa.dataModel}"
	     paginator="true"
             paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
             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>`
``

O que ocorre quando é disparado o erro sobre lazyloading é que você deve ter mapeado tuas entities como sendo EAGER e não LAZY.
Além disso, para não ter problemas, você precisa mudar a forma de abrir a conexão, para algo como openconnectioninview.