Exibir primeiro registro da tabela

Olá pessoal!

Como faço para exibir os dados do primeiro registro de uma tabela assim que a página de cadastro for aberta? No meu caso, logo após o login, a página de cadastro de cliente é exibida.

Segue abaixo a página de cadastro de cliente:

Gostaria que na parte “CLIENTE” os dados do primeiro cliente cadastrado fossem exibidos. Acho que é algo fácil de fazer, mas como tenho pouquíssima prática em programação, estou tendo essa dificuldade.

Grata pela ajuda.

Esse cliente seria o próprio usuário, correto?! No momento em que vc faz o login seta as informações dele em um objeto Usuario ou Cliente dependendo da sua aplicação, e seta nos campos.

Olá Fábio!

O usuário do sistema não é o cliente. A aplicação está programada para, assim que for feito o login pelo usuário, exibir a tela de cadastro de cliente com os dados do primeiro cliente cadastrado. Só que aparece em branco. Só deveria ficar em branco quando eu clicasse no botão “Novo”.

Você já implementou algum código para que o cliente apareça, uma busca do cliente ?

Eu implementei sim, mas só pra ser usado num campo de pesquisa. Na tela que enviei, por exemplo, tem um campo de busca embaixo de “Pesquisar por Nome, CPF, CNPJ, E-mail ou Telefone”, que funciona por enquanto só pesquisando pelo nome. E, logo abaixo no dataTable, o resultado da pesquisa aparece. Quando clico no nome que resultou da busca, os dados aparecem no formulário. Até aí, tudo certo.

Não sei se preciso fazer algo do tipo entrar na página em modo de edição.

Você terá que fazer no construtor a pesquisa do primeiro cliente, para que ele apareça na tela.

Sem querer abusar da sua boa vontade, será que você poderia dar um exemplo? Como isso poderia ser feito usando o hibernate?

Sem você postar o seu código fica um pouco difícil,

Mas como o @Fabio_Medeiros disse, no controller da sua página (se estiver usando MVC), existe o construtor padrão da página, nele é passado o que deve ser colocado na página assim que for acessada, você pode através dele fazer com que a página passe os valores do seu primeiro cliente.

Mas quem seria esse cliente? O cliente é o mesmo para todos os usuários? No banco de dados ele é referenciado por um ID?
Se a resposta dessas perguntas forem sim, você pode simplesmente realizar uma consulta ao BD buscando o ID desse cliente.

Desculpe a minha ignorância, mas qual a finalidade de se utilizar o primeiro registro da tabela, até agora não entendi. Acho que seria algo sem necessidade, serei mais sugestivo o ultimo Cliente salvo, não seria mais interessante?
Como você está usando o hibernate tem alguns métodos como o get.

package controller;

import org.hibernate.Session;
import org.hibernate.HibernateException;

public class ClienteController {

	public ModeloController() {
		buscarPrimeiro();
	}

	public Cliente buscarPrimeiro() {
		try {
			Session session = null;
			session = HibernateUtil.getSessionFactory().openSession();
			return session.get(Cliente.class, 1L);
		} catch (HibernateException e) {
			throw new RuntimeException("Erro ao tentar buscar o Primeiro Cliente",e);
		}
		return null;
	}

}

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.

ClienteDao
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);
}

ClienteRN
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);
}

}

ClienteDaoHibernate
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();
}    

}

ClienteBean
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;
}

}