Olá,
Estou com dúvidas na criação de consultas utilizando o hibernate.
Segue as classes que estou utilizando.
Classe de controle - GerenteCidade
public List listaTodos(){
List lista=null;
try{
lista=dao.list(Cidade.class);
} catch(Exception ex){
setMensagem("Erro ao consultar cidades!");
}
return lista;
}
public List listaAlguns(int firsResult, int lastResult){
List lista=null;
lista=dao.list(Cidade.class,firsResult,lastResult);
return lista;
}
Classe do DaoHibernateGenerico
public List list(Class clazz) {
return HibernateUtility.getSession().createCriteria(clazz).list();
}
public List list(Class clazz, int firstResult, int maxResults) {
Criteria criteria = HibernateUtility.getSession().createCriteria(clazz);
criteria.setFirstResult(firstResult);
criteria.setMaxResults(maxResults);
return criteria.list();
}
public List listByExample(Object example) {
Criteria criteria = HibernateUtility.getSession().createCriteria( example.getClass() );
Example sample = Example.create( example );
sample.enableLike();
sample.excludeZeroes();
criteria.add( sample );
return criteria.list();
}
Classe TableModelCidade
public TableModelCidade(String filtro) {
gerenteCidade=GerenteCidade.getInstance();
listCidades=gerenteCidade.listaAlguns(0,49);
}
Classe visão - FormCidade
public void arrumaTabela(){
String filtro="";
// String filtro=" where "+jcb.getSelectedItem()+" like '%"+tfFiltro.getText()+"%' order by nome";
tb=new TableModelEstado(filtro);
tbConsulta.setModel(tb);
}
A parte de listar todas as cidades, ou listar por número de resultados está ok…o que eu gostaria era montar a consulta de acordo com a escolha do usuário, no caso o usuário escolhe o critério da consulta em um jcombobox. Ex:
String filtro=" where “+jcb.getSelectedItem()+” like ‘%"+tfFiltro.getText()+"%’ order by nome";
Se alguém puder ajudar!
Obrigado
Diego