Pessoal estou com dificuldades para montar uma consulta HQL com where… quero abri um JInternalFrame filtrado passando o valor de filtro o que seleciono no meu jTable… mais não estou conseguindo montar a consulta …
a minha consulta é esta
Query lista = sessao.createQuery("from "+ classe);
O meu código todo é este
InterfaceDaoGenerica
package Dao;
import java.util.List;
import org.hibernate.Query;
public interface InterfaceDaoGenerica
{
public void inserir();
public void alterar();
public void excluir();
public List listar(String classe);
public Query listarCriterio(String classe);
}
MEU DAO GENERICO E ESTE…
public class DaoGenerico<Obj> implements InterfaceDaoGenerica{
private final Session sessao;
Transaction tx_trans = null;
private Obj objeto;
public DaoGenerico(Obj parametro)
{
this.sessao = HibernateUtil.getSessao();
this.objeto = parametro ;
}
public void inserir()
{
try {
tx_trans = sessao.beginTransaction();
sessao.save(objeto);
tx_trans.commit();
} catch (Exception erro)
{
JOptionPane.showMessageDialog(null, "Erro: "+erro );
tx_trans.rollback();
}
}
public void alterar()
{
try {
tx_trans = sessao.beginTransaction();
sessao.update(objeto);
tx_trans.commit();
} catch (Exception erro) {
JOptionPane.showMessageDialog(null, "Erro: "+erro);
tx_trans.rollback();
}
}
public void excluir() {
try {
tx_trans = sessao.beginTransaction();
sessao.delete(objeto);
tx_trans.commit();
} catch (Exception e)
{
JOptionPane.showMessageDialog(null,"Erro: "+e);
tx_trans.commit();
}
}
@Override
public List listar(String classe)
{
List lista = sessao.createQuery("from "+classe).list();
return lista;
}
@Override
public Query listarCriterio(String classe)
{
Query lista = sessao.createQuery("from "+ classe);
return lista;
}
}
MEU METODO PARA CARREGAR OS DADOS E ESTE
public void abrirCampos()
{
try {
Cargo cargo = new Cargo();
DaoGenerico obj_cargo = new DaoGenerico(cargo);
List<Bens.Cargo> list_cargo = new ArrayList();
list_cargo = obj_cargo.listarCriterio("Cargo").list();
int tamanho_lista = list_cargo.size();
for (int i = 0; i < tamanho_lista;i++)
{
cargo = list_cargo.get(i);
jTextField1.setText(""+cargo.getIdcargo());
jTextField2.setText(cargo.getDesccargo());
}
} catch (Exception erro)
{
JOptionPane.showMessageDialog(null, "Erro: "+erro);
}
}
Já tentei fazer assim
Query lista = sessao.createQuery("from "+ classe + "where idcargo="segundo criterio);
mais sem exito.
Pesso desculpas pela mensagem inicial que não estava bem formatada… sou novo no forum e aguardo a ajuda de vcs…
De já obrigado.