Estou tentando realizar uma busca de serviços no meu banco de dados via Hibernate.
Esse é o meu método de pesquisa:
public void pesquisar() {
try {
Criteria c = HibernateSessionFactory.getCurrentSession().createCriteria(Servico.class);
c.add(Restrictions.or(Restrictions.like("descricaoProduto", servico.getDescricaoProduto(), MatchMode.ANYWHERE),
Restrictions.like("codBarraProduto", servico.getDescricaoProduto(), MatchMode.ANYWHERE)));
c.createAlias("fornecedores", "listaFornecedores");
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
c.addOrder(Order.asc("descricaoProduto"));
listaServicos = c.list();
} catch (HibernateException ex) {
FacesUtil.showGenericMessage("Ocorreu um erro ao obter os resultados da pesquisa.", FacesMessage.SEVERITY_WARN);
Logger.getLogger(ProdutoMB.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
}
}
Eu estou tentando jogar o resultado em uma rich:dataTable, porém, o resultado não aparece na tabela:
Aqui é onde eu chamo o método de pesquisar:
<div class="mdl-card__title mdl-card--border">
<h:outputFormat styleClass="mdl-card__subtitle-text" value="{0} resultado(s)">
<f:param value="#{ServicoMB.listaServicos.size()}"/>
</h:outputFormat>
<div class="mdl-layout-spacer"></div>
<div class="mdl-textfield mdl-js-textfield">
<h:inputText styleClass="mdl-textfield__input" id="pesquisar" value="#{ServicoMB.servico.descricaoProduto}"/>
<label class="mdl-textfield__label" for="pesquisar">Pesquisar serviço</label>
</div>
<a4j:commandLink action="#{ServicoMB.pesquisar}" id="btn_buscar" styleClass="mdl-button mdl-button--icon"
reRender="formPrincipal"
oncomplete="componentHandler.upgradeAllRegistered()" immediate="true">
<i class="material-icons">search</i>
</a4j:commandLink>
</div>
Desculpem se a pergunta é muito grande ou complexa!! kk