Galera… bom dia!
Estou com um problema para implementar um campo de busca em uma aplicação, não estou conseguindo fazer a lógica correta.
Classe DaoImp
public List novaList2(){
List<Cliente2> cliente2 = null;
Cliente2 c = new Cliente2();
try {
EntityManagerFactory factory = Persistence.createEntityManagerFactory("academico");
EntityManager manager = factory.createEntityManager();
cliente2 = manager.createNamedQuery("Cliente2.findByIdCliente")
.setParameter("idCliente", c.getIdCliente()).getResultList();
//Por desencargo de ser erro de sql ou algo do genero, Se deixar o .setParamater("idCliente", 1) a tabela me traz o resultado!
} catch (Exception e) {
e.printStackTrace();
}
return cliente2;
}
Classe ClienteController
public DataModel getListarCliente2() {
List<Cliente2> lista2 = new ClienteDaoImp().novaList2();
listaCliente2 = new ListDataModel(lista2);
return listaCliente2;
}
Classe Index.xhtml
<p:dialog header="Sistema Cliente" widgetVar="dialogGerCliente2" resizable="true" modal="true" showEffect="slide">
<h:form id="frmtabela2">
<h:panelGrid id="infosCliente2" columns="2" style="margin-bottom:10px">
<h:form id="frmbusca">
<h:outputLabel for="idCliente" value="Buscar" />
<h:inputText id="idCliente" value="#{clienteController.cliente2.idCliente}"/>
<p:commandButton update=":frmtabela2:tabela2" oncomplete="dialogGerCliente.hide();" actionListener="#{clienteController.listarCliente2}" value="Buscar"/>
</h:form>
<p:dataTable id="tabela2" var="cliente" value="#{clienteController.listarTodos}">
<p:column>
<f:facet name="header">
<h:outputText value="ID do Cliente"/>
</f:facet>
<h:outputText value="#{cliente.idCliente}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Nome do Cliente"/>
</f:facet>
<h:outputText value="#{cliente.nomeCliente}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Endereço"/>
</f:facet>
<h:outputText value="#{cliente.endereco}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Telefone"/>
</f:facet>
<h:outputText value="#{cliente.telefone}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Situacao"/>
</f:facet>
<h:outputText value="#{cliente.situacaoAntiga}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Alterar"/>
</f:facet>
<p:commandButton actionListener="#{clienteController.prepararAlterarCliente}" value="Alterar" update=":frmcliente:infosCliente" oncomplete="dialogGerCliente.show()"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Excluir"/>
</f:facet>
<h:commandLink action="#{clienteController.excluirCliente}" value="Excluir"/>
</p:column>
</p:dataTable>
</h:panelGrid>
</h:form>
</p:dialog>