ola tudo bem ? nao estou conseguindo fazer a busca no banco de dados alguem pode me ajudar implementei todos os codigos mas da erro?
Classe ClienteBean
package br.com.mjailton.vendasjsf.bean;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import br.com.mjailton.vendasjsf.modelo.Cliente;
import br.com.mjailton.vendasjsf.util.JPAUtil;
@ManagedBean
public class ClienteBean {
private Cliente cliente = new Cliente();
private List<Cliente> clientes;
public void salva(){
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
em.persist(cliente);
em.getTransaction().commit();
em.close();
}
public void excluir(Cliente cliente){
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
cliente = em.merge(cliente);
em.remove(cliente);
em.getTransaction().commit();
em.close();
}
public List<Cliente> getClientes(){
if(this.clientes==null) {
EntityManager em = new JPAUtil().getEntityManager();
Query q = em.createQuery("SELECT c FROM Cliente c" , Cliente.class);
this.clientes = q.getResultList();
em.close();
}
return clientes;
}
public List buscarClientePorNome(Cliente cliente) {
EntityManager em = new JPAUtil().getEntityManager();
Query query = em.createQuery("select u from Cliente u where nome like :nome");
query.setParameter("nome", cliente.getNome());
this.clientes = query.getResultList();
if (clientes.isEmpty()) {
return null;
}
return clientes;
}
public List getBuscaClientes() {
return buscarClientePorNome(cliente);
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
}
Classe Cliente
package br.com.mjailton.vendasjsf.modelo;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Cliente {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name=“id_cliente”)
private Long idCliente;
private String nome;
private String endereco;
private String cpf;
private String bairro;
private String cidade;
private String uf;
private String cep;
private String telefone;
private String complemento;
private String rg;
private String email;
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public Long getIdCliente() {
return idCliente;
}
public void setIdCliente(Long id_cliente) {
this.idCliente = id_cliente;
}
public String getNome() {
return nome;
}
public void setNome(String cliente) {
this.nome = cliente;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
Classe Consultar Cliente
<?xml version="1.0" encoding="ISO-8859-1" ?>
Controle de Usuários
<h:form>
<table width="500" align="center">
<tr>
<td colspan="2" align="right"><h:outputText value="Informe o nome do usuário a ser pesquisado" /></td>
</tr>
<tr>
<td align="right"><h:inputText value="#{clienteBean.cliente.nome}" /></td>
<td align="left"><h:commandButton value="Pesquisar" action="#{clienteBean.buscarClientePorNome(cliente)}"></h:commandButton></td>
</tr>
</table>
<br /><br /><br />
<!--Início tabela de lista-->
<h:dataTable value="#{clienteBean.clientes}" var="cliente" styleClass="orders" headerClass="ordersHeader" columnClasses="oddColumn" rowClasses=" eveRow, oddRow">
<h:column>
<f:facet name="header">
Nome:
</f:facet>
#{cliente.nome}
</h:column>
<h:column>
<f:facet name="header">
Endereço:
</f:facet>
#{cliente.endereco}
</h:column>
<h:column>
<f:facet name="header">
Cpf
</f:facet>
#{cliente.cpf}
</h:column>
<h:column>
<f:facet name="header">
Bairro:
</f:facet>
#{cliente.bairro}
</h:column>
<h:column>
<f:facet name="header">
Cidade
</f:facet>
#{cliente.cidade}
</h:column>
<h:column>
<f:facet name="header">
Uf
</f:facet>
#{cliente.uf}
</h:column>
<h:column>
<f:facet name="header">
Cep
</f:facet>
#{cliente.cep}
</h:column>
<h:column>
<f:facet name="header">
Telefone
</f:facet>
#{cliente.telefone}
</h:column>
<h:column>
<f:facet name="header">
Complemento
</f:facet>
#{cliente.complemento}
</h:column>
<h:column>
<f:facet name="header">
Rg
</f:facet>
#{cliente.rg}
</h:column>
<h:column>
<f:facet name="header">
Email
</f:facet>
#{cliente.email}
</h:column>
</h:dataTable> <!--Fim tabela de lista-->
</h:form>
</h:body>