Dificuldade em uma consulta usando Hibernate-Annotations

Sou novo em Java e estou fazendo meu primeiro projeto para a disciplina de Análise e Projeto de Sistemas e meu problema é o seguinte:
Tenho uma classe persistente Funcionario e preciso saber se o cpf do novo func que vou cadastar ja existe, então qdo meu JFormatedTextField ftfCpf perde o foco ele faz uma consulta no banco e me retorna uma consulta na qual eu comparo com o cpf digitado no JTextField, porém não estu conseguindo fazer essa consulta e preciso de ajuda.

Aqui vai meu humilde metodo xD

[code]public List consultarCpfFuncionario(String textoConsulta) {
session = HibernateUtil.getSession();
Query query = session.createQuery(“from Funcionario f where f.cpf like :textoConsulta”);
query.setString(“textoConsulta”, “%”+textoConsulta+"%");

    List lista = query.list();
    
    return lista;

}[/code]

private void ftfCpfFocusLost(java.awt.event.FocusEvent evt) { String textoConsulta = ftfCpf.getText(); Dao<Funcionario> daoFactory = new DaoFactory().getFuncionarioDao(); resultadoConsulta = daoFactory.consultarCpfFuncionario(textoConsulta); if(textoConsulta.equals(resultadoConsulta) && textoConsulta != null) { JOptionPane.showMessageDialog(this, "CPF já cadastrado!", "Mensagem", 1); } }

Sei que tem algo de errado no primeiro metodo, mas meu conhecimento não me deixa saber qual.
Alguem poderia me ajudar?

voltando aos recentes xD

PARCEIRO! POSTA O ERRO QUE É GERADO SÓ ASSIM PODEREI LHE AJUDAR!

Então, não da erro algum, o código executa, mas ele me retorna os dados do Funcionario com o cpf q eu enviei, e eu quero q ele soh verifique se o cpf digitado existe ou não. Daí eu nao sei se eu to errando no codigo sql ou no tipo de variavel q estou usando(List no caso).

Cara! então isso não é erro! Faça assim. Se retornar algum valor quer dizer o que o cpf existe,
se retornar NULL quer dizer que o cpf não existe.
Sendo assim a tua consulta está ok! O lance é que vc tem que programar a tua aplicação para reconher quando retornar NULL faça isso…,
se retornar algum valor faça aquilo…
entendeu! é so criatividade. blz

Deu certo! brigadão xD

Agora eu preciso saber outra duvida, como fazer uma busca que retorne o id de um funcionario para que eu possa usar esse id desta forma:

Funcionario funcionario = (Funcionario) session.get(Funcionario.class, idConsultado);

para eu poder atualiza-lo.

Resumindo : Quero atraves de um cpf poder resgatar um objeto do tipo Funcionario onde eu possa fazer
objeto.setValorAtualizado(atualizacao);
session.saveOrUpdate(objeto);

Espero que alguem possa me ajudar =]
Aguardando!

Seguinte cara!

  1. Resgata os valores do banco - isso vc sabe fazer!
  2. Seta o valor que vc quer atualizar
  3. chama o metodo para atualizar

OBS: o grande lance é não modificar a chave primaria para não dar erro!

Resolvido xD
Obrigado