[RESOLVIDO]Lazy=true, nao aparece os registros

pessoal, implementei a rotina abaixo, porem contem registro no meu banco de dados, porem nao aparece nenhum registro no datatable, segue abaixo o meu codito :

****bean 

    private List<Cadusu> cadusu;

    private LazyDataModel<Cadusu> dataModel;


    public LazyDataModel<Cadusu> getDataModel() {
                @Override  
                public List<Cadusu> load(int first, int pageSize, String string, boolean bln, Map<String, String> map) {  
                    List<Cadusu> list = cadususervico.buscafindCadusu(first, pageSize);
                    return list;  
                }  */

                    @Override
                    public List<Cadusu> load(int i, int i1, String string, SortOrder so, Map<String, String> map) {
                           List<Cadusu> list = cadususervico.buscafindCadusu(i, i1);
                           return list;  
                    }
            };  
            dataModel.setPageSize(10);  
        }  
        return dataModel; 
 }  


****dao 

 @Interceptors({GerenciaTransacaoInterceptor.class})  
   public List<Cadusu> findCadusu(int startingAt, int maxPerPage) {
               String query = "select u from Cadusu u where u.status = 'ATIVO'";                      
               
               emAux.createQuery(query).setHint("eclipselink.refresh", true).
                       setFirstResult(startingAt).setMaxResults(maxPerPage).getResultList();
         
               return (List<Cadusu>) emAux.createQuery(query).getResultList();            
	}


**********View

            <p:dataTable id="lazyDataTablenovo" value="#{cadguiaMbean.dataModel}" var="cadusu" paginator="true" rows="10"
                         dynamic="true"
                         lazy="true"
                         selection="#{cadguiaMbean.cadusu}" selectionMode="single"
				paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
				rowsPerPageTemplate="5,10,15" style="width: 80%;margin-left: 10%;margin-right: 10%;">

				<p:ajax event="rowSelect" update=":playerDialogForm" oncomplete="playerDetails.show()" />

				<p:column>
					<f:facet name="header">Name</f:facet>
                                        <h:outputText value="#{cadusu.nomeusu}" />
				</p:column>
	     </p:dataTable>

Alguem pode me dar alguma dica ??

Está lançando alguma exceção?

LazyInizializationException ??

Aonde eu coloco essa excecao?

Não sei se entendeu direito, mas eu perguntei se seu código lança alguma exceção.

nao sei se ajuda:
o exemplo abaixo eu fiz e funcionou na boa

xhtml

<p:dataTable id="tabela1" value="#{usuariobibJsfBean.usuariosList}" var="item"
                                     emptyMessage="Nenhum registro encontrado." 
                                     paginator="true" rows="25"  pageLinks="10"
                                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} 
                                     {NextPageLink} {LastPageLink} Registros por página: {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="15,25,35,50" lazy="true">
                            <f:facet name="header">
                                #{usuariobibJsfBean.usuariosList.rowCount} registros encontrados. // contas os registros
                            </f:facet>

                            <p:column headerText="Código" style="width:07%">
                                <h:outputText value="#{item.usuCodigo}" />  
                            </p:column>

// continua

bean

// declaração
private LazyDataModel<Usuariobib> usuariosList;

// metodo
usuariosList = new LazyDataModel<Usuariobib>() {

            @Override
            public List<Usuariobib> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters) {
                return u.listaUsuariobibPaginada(montaParametros(), first, pageSize, sortField, sortOrder);
// retorna a lista lazy
            }
        };
        usuariosList.setRowCount(u.listaUsuariobibCount(montaParametros()));
// funcao que conta os registros
    }

service

@Interceptors(AuditInterceptor.class)
    public List<Usuariobib> listaUsuariobibPaginada(Map<String, Object> montaParametros, int first, int pageSize, String sortField, org.primefaces.model.SortOrder sortOrder) {
        log.debug("########### sortField: " + sortField);
        log.debug("########### sortOrder: " + sortOrder);
        String orderBy = ServiceUtil.montaOrderBy(sortField, true, PREFIXO_OBJETO);
        FiltrosConsulta filtros = criaFiltros(montaParametros);
        return crudService.executeQuery(QUERY_Usuarios, orderBy, first, pageSize, filtros, null);
    }

    @TransactionAttribute(TransactionAttributeType.NEVER)
    public int listaUsuariobibCount(Map<String, Object> montaParametros) {
        FiltrosConsulta filtros = criaFiltros(montaParametros);
        Long resultado = (Long) crudService.executeQuery("select COUNT(u) from Usuariobib u ", null, filtros).get(0);
        return resultado.intValue();
    }

valeu !

Vlw poderia postar os metodos:

Serviceutil.montaorderby e

Crudservice.executaquery

Muito obrigado


***************** View

            <p:dataTable id="lazyDataTablenovo1" value="#{cadguiaMbean.usuariosList}" var="cadusu" pemptyMessage="Nenhum registro encontrado."   
                                     paginator="true" rows="25"  pageLinks="10"  
                                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks}   
                                     {NextPageLink} {LastPageLink} Registros por página: {RowsPerPageDropdown}"  
                                     rowsPerPageTemplate="15,25,35,50" lazy="true">

				<p:column>
					<f:facet name="header">Name</f:facet>
                                        <h:outputText value="#{cadusu.nomeusu}" />
				</p:column>
	     </p:dataTable>
	     
***************** Bean

    
    private List<Cadusu> cadusu;
    
    private LazyDataModel<Cadusu> usuariosList; 
    
    
    
    
    @Override
    public void iniciarView() {
            item = listaespec();   
            
    usuariosList = new LazyDataModel<Cadusu>() {    
                @Override  
                public List<Cadusu> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters) {  
                    return cadususervico.buscafindCadusu(first, pageSize);
    // retorna a lista lazy  
                }            
            };  
         usuariosList.setRowCount(cadususervico.buscacountCadusuTotal());  
    // funcao que conta os registros  
 }
 

Esta aparecendo os registro , porem gostaria de usar o “filterBy” como ficaria o meu “load” do meu bean ???

Pessoal, consegui fazer o filtro da seguinte forma :

            public List<Cadusu> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters) {  
                int paginacao; 
                paginacao = 0;
                
                
                 for(Iterator<String> it = filters.keySet().iterator(); it.hasNext();) {
                     String filterProperty = it.next(); // table column name = field name
                     System.out.println("filterProperty is: " + filterProperty);

                     String filterValue = filters.get(filterProperty);
                     System.out.println("filterValue is: " + filterValue);                    
                     
                     String Clausula = "and u."+filterProperty+" like'%"+filterValue+"%'";
                     System.out.println("filterValue is: " + Clausula);     
                     paginacao=1;
                     cadusu = cadususervico.buscafindCadusu(first, pageSize,Clausula);

                  }                
                
//                return cadususervico.buscafindCadusu(first, pageSize,"");
                 
                 if (paginacao==0){
                    cadusu = cadususervico.buscafindCadusu(first, pageSize,"");
                 }
                 
                  return cadusu;
            }            
        };  
     usuariosList.setRowCount(cadususervico.buscacountCadusuTotal());  

***************************** dao 

   public List<Cadusu> findCadusu(int startingAt, int maxPerPage,String clausulapage) {
       String query="";
          if (clausulapage == ""){
               String queryinterna = "select u from Cadusu u where u.status = 'ATIVO'";   
               query=queryinterna;
           }    
          
          if (clausulapage != ""){
               String queryinterna = "select u from Cadusu u where u.status = 'ATIVO'"+clausulapage;   
               query=queryinterna;
           }    
          
               emAux.createQuery(query).setHint("eclipselink.refresh", true).
                       setFirstResult(startingAt).setMaxResults(maxPerPage).getResultList();
         
               return (List<Cadusu>) emAux.createQuery(query).getResultList();            
            
               
	}

O problema agora nao esta paginando , alguem pode me ajudar ??

depois de muita luta e batalha, consegui fazer o Lazy…

segue abaixo a solucao do problema de cima

                  return (List<Cadusu>) emAux.createQuery(query).setHint("eclipselink.refresh", true).
                                         setFirstResult(startingAt).setMaxResults(maxPerPage).getResultList();

Obrigado a todos