tem alguma forma de efetuar uma consulta no hibernate com criteria ou com Query atraves da passagem de parametros?
tipo
public ClasseA consulta(ClasseA, Parametros) {
//efetua o select from ClasseA, where parametros;
}
ou algo parecido, estou tentando fazer como se fosse uma busca generica de qualquer classe.
porque voce nao usa HQL?
é uma linguem muito parecida com o sql,
porem ela trata o os elementos das classe e nao os atribultos das tabelas,
veja um exemplo do que voce precisa em HQL
para salva um objeto da categoriaSocio
public class DaoCategoriaSocio implements CategoriaSocioInterface {
//testado
@Override
public void AdicionarCategoria(Categoriasocio categoria) {
Session sessao = null;
Transaction transacao = null;
try{
sessao = HibernateUtil.getSessionFactory().openSession();
transacao = sessao.beginTransaction();
sessao.save(categoria);
transacao.commit();
System.out.println("Salvo com sucesso");
}
catch(HibernateException e)
{
System.out.println("Erro ao iniciar a sessao para persistencia " + e);
transacao.rollback();
}
finally
{
sessao.close();
}
}
para buscar um elemento da categoriaSocio por nome
@Override
public Categoriasocio BuscarCategoriaPorNome(String nome) {
Categoriasocio categoriaSocio = null;
Session sessao = null;
Query query = null;
Transaction transacao = null;
try{
sessao = HibernateUtil.getSessionFactory().openSession();
transacao = sessao.beginTransaction();
query = sessao.createQuery("from Categoriasocio where nome = :nome");
query.setParameter("nome", nome);
categoriaSocio = (Categoriasocio) query.uniqueResult();
transacao.commit();
}
catch(HibernateException e)
{
System.out.println(e);
transacao.rollback();
}
finally
{
sessao.close();
}
return categoriaSocio;
}
esse codigo é de uma dao da minha autoria, se alguem poder ajudar a melhorar alguma coisa, eu agradeco,
sou novato tambem =)