Galera,
Estou precisando de uma ajuda, estou tentando utilizar criteria para criar um campo de filtro em um JTextField ( para filtar dados em uma tabela ).
Quando faço consultas ele sempre esta me retornando uma consulta vazia, mesmo quando digito um valor existente.
Estou usando ignoreCase() e MatchMode.ANYWHERE e mesmo assim ele não acha nenhum objeto;
Vou postar a minhas classes:
A classe de busca:
public class FuncionarioDAO extends HibernateAbstractDAO<Funcionario, Long>{
public FuncionarioDAO() {
}
public Funcionario loadByMatr(long matr) {
return (Funcionario)getSession().createQuery("FROM Funcionario c WHERE c.numRegistro ="+matr+"").uniqueResult();
}
@Override
public List<Funcionario> select(String chave) {
Criteria criteria = HibernateUtility.getSession().createCriteria(Funcionario.class);
if(Numerico.isNumerico(chave)){
criteria.add(Restrictions.eq("numRegistro",Integer.parseInt(chave)));
criteria.add(Restrictions.eq("CPF", Long.parseLong(chave)));
}
criteria.add(Restrictions.like("nome", chave, MatchMode.ANYWHERE).ignoreCase());
criteria.add(Restrictions.like("cargo", chave, MatchMode.ANYWHERE).ignoreCase());
return (List<Funcionario>) criteria.list();
}
}
E a classe Funcionario
public class Funcionario implements Serializable {
private String nome;
private long CPF;
private int numRegistro;
private String senha;
private String tipo;
private String cargo;
private Treinamento treinamento;
private int horasTreino;
public Funcionario() {
}
//set e gets
}
O que existe de errado ?
Se alguem puder me ajudar.
Desde já agradeço
[]`s