Pode ser o último também. Não tem problema. Eu só preciso que quando a página de cadastro de cliente abrir depois do login os dados do primeiro ou último cliente sejam exibidos.
Estou postando os códigos para que vocês possam me dar um help.
<strong>ClienteDao</strong>
public interface ClienteDao {
public void salvar(Cliente cliente);
public void atualizar(Cliente cliente);
public Cliente carregar(Integer codigo);
public Cliente buscarPorCpfCnpj(String cpfcnpj);
public List listar();
public List buscar(String filtroCliente);
}
<strong>ClienteRN</strong>
public class ClienteRN {
private final ClienteDao clienteDao;
public ClienteRN() {
this.clienteDao = DAOFactory.criarClienteDao();
}
public void salvar(Cliente c) {
c.setDatacadastro(new Date());
Integer codigo = c.getCodigo();
if (codigo == null || codigo == 0) {
String cpfcnpj = c.getCpf_cnpj();
Cliente cpfcnpjExistente = clienteDao.buscarPorCpfCnpj(cpfcnpj);
if (cpfcnpjExistente != null) {
FacesUtil.addWarnMessage("Este CPF / CNPJ já foi cadastrado.");
} else {
this.clienteDao.salvar(c);
}
} else {
this.clienteDao.atualizar(c);
}
}
public List<Cliente> listar() {
return this.clienteDao.listar();
}
public Cliente carregar(Integer codigo) {
return this.clienteDao.carregar(codigo);
}
public List<Cliente> buscar(String filtroCliente) {
return this.clienteDao.buscar(filtroCliente);
}
}
<strong>ClienteDaoHibernate</strong>
public class ClienteDaoHibernate implements ClienteDao {
private Session sessao;
public void setSessao(Session sessao) {
this.sessao = sessao;
}
@Override
public void salvar(Cliente c) {
this.sessao.save(c);
}
@Override
public void atualizar(Cliente c) {
this.sessao.update(c);
}
@Override
public Cliente carregar(Integer codigo) {
return (Cliente) this.sessao.get(Cliente.class, codigo);
}
@Override
public Cliente buscarPorCpfCnpj(String cpfcnpj) {
String hql = "select c from Cliente c where c.cpf_cnpj = :cpf_cnpj";
Query consulta = this.sessao.createQuery(hql);
consulta.setString("cpf_cnpj", cpfcnpj);
return (Cliente) consulta.uniqueResult();
}
@SuppressWarnings("unchecked")
@Override
public List<Cliente> listar() {
return this.sessao.createCriteria(Cliente.class)
.addOrder(Order.asc("nome"))
.list();
}
@Override
public List<Cliente> buscar(String filtroCliente) {
Criteria criteria = sessao.createCriteria(Cliente.class);
if (filtroCliente != null) {
criteria.add(Restrictions.or(
Restrictions.ilike("nome", filtroCliente, MatchMode.ANYWHERE),
Restrictions.ilike("cpf_cnpj", filtroCliente, MatchMode.ANYWHERE),
Restrictions.ilike("emailprincipal", filtroCliente, MatchMode.ANYWHERE),
Restrictions.ilike("fixo", filtroCliente, MatchMode.ANYWHERE),
Restrictions.ilike("celular", filtroCliente, MatchMode.ANYWHERE)
));
}
return criteria.list();
}
}
<strong>ClienteBean</strong>
private void limpar() {
cliente = new Cliente();
}
public String editar() {
return "/restrito/cliente/cadastro_cliente";
}
public String novo() {
this.cliente = new Cliente();
return "/restrito/cliente/cadastro_cliente";
}
public void salvar() {
ClienteRN clienteRN = new ClienteRN();
clienteRN.salvar(this.cliente);
}
public String orcamento() {
return "/restrito/orcamento";
}
public void buscar() {
ClienteRN clienteRN = new ClienteRN();
this.lista = clienteRN.buscar(getFiltroCliente());
}
public String getFiltroCliente() {
return filtroCliente;
}
public void setFiltroCliente(String filtroCliente) {
this.filtroCliente = filtroCliente;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public Profissao getProfissao() {
return profissao;
}
public void setProfissao(Profissao profissao) {
this.profissao = profissao;
}
public List<Cliente> getLista() {
if (this.lista == null) {
ClienteRN clienteRN = new ClienteRN();
this.lista = clienteRN.buscar(filtroCliente);
}
return lista;
}
public List<EstadoCivil> getEstadoscivis() {
return estadoscivis = Arrays.asList(EstadoCivil.values());
}
public List<Uf> getUfs() {
return ufs = Arrays.asList(Uf.values());
}
public List<Profissao> getProfissoes() {
if (this.profissoes == null) {
ProfissaoRN profissaoRN = new ProfissaoRN();
this.profissoes = profissaoRN.listar();
}
return profissoes;
}
}