luivilella 13 de mar. de 2012
Amigo não entendi muito bem a sua pergunta, mas segue um exemplo de um metodo que pesquisa em qualquer tabela em qualquer campo.
Isto para campos string com a clausula ilike.
Método:
public List<Object> filtroNomeGenerico(Class classe, String stringDePesquisa, String nomeCampoTabela)
throws Exception {
sessao = null;
ArrayList<Object> lista;
try {
sessao = HibernateUtil.getSessionFactory().openSession();
Criteria criteria = sessao.createCriteria(classe);
criteria.add(Restrictions.ilike(nomeCampoTabela, "%" + stringDePesquisa + "%"));
lista = (ArrayList<Object>) criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
} catch (Exception e) {
lista = null;
} finally {
sessao.close();
}
return lista;
}
Teste Método:
try {
for ( Object objeto : new ClienteDAO (). filtroNomeGenerico ( Cliente . class , "AMANDA" , "nome" )) {
Cliente cliente = ( Cliente ) objeto ;
System . out . println ( "Nome...: " + cliente . getNome ());
}
} catch ( Exception e ) {
e . printStackTrace ();
}