javasf@googlegroups.com
[Top] [All Lists]

Re: [javasf] hql

Subject: Re: [javasf] hql
From: vilmar ferreira
Date: Mon, 4 Jul 2011 14:47:39 -0300
E a sessão, não fecho?

Em 4 de julho de 2011 14:42, ricardo camargo <rifocamargo@xxxxxxxxx> escreveu:
se for hibernate entao será da seguinte forma:
public List<Demanda> getListDemandaEstado(Demanda demanda){
        Session sessao = getSession();
        List list = null;
            Query query = sessao.createQuery("SELECT d FROM Demanda as d WHERE d.datasolicitacao=:data OR d.estado.id.codigoesado=:idEstado");
            query.setDate("data", demanda.getDatasolicitacao());
            query.setString("idEstado", demanda.getEstado().getId().getCodEstado());

            list = query.list();
            return list;
    }

Em 4 de julho de 2011 14:34, ricardo camargo <rifocamargo@xxxxxxxxx> escreveu:

vc tah usando hibernate entao?...nao eh toplink?

Em 4 de julho de 2011 14:18, vilmar ferreira <vilmarswim@xxxxxxxxx> escreveu:

Ta ok...


Em 4 de julho de 2011 14:14, Wesley Sousa <wesley.developer@xxxxxxxxx> escreveu:

@vilmar

Já olho o sql que ta sendo gerado na consulta. Pelo que observei o hql ta ok.

Em 4 de julho de 2011 14:10, vilmar ferreira <vilmarswim@xxxxxxxxx> escreveu:

Então é o do javax.persistence.Query ao invés do org.hibernate.Query?

Em 4 de julho de 2011 14:07, ricardo camargo <rifocamargo@xxxxxxxxx> escreveu:

para este tipo de transação nao eh necessário usar um try. vc esta somente consultando

seu método ficaria algo assim:

public List<Demanda> getListDemandaEstado(Demanda demanda){
       javax.persistence.Query query = getEntityManager().createQuery("SELECT d FROM Demanda as d WHERE d.datasolicitacao=:data OR d.estado.id=:idEstado");

       query.setParameter("data", demanda.getDatasolicitacao());
       query.setParameter("idEstado", demanda.getEstado().getId());
       return query.getResultList();
}

Em 4 de julho de 2011 13:50, vilmar ferreira <vilmarswim@xxxxxxxxx> escreveu:

Então galera, estou fazendo assim como advertiram. Olha como está meu código:

 public List<Demanda> getListDemandaEstado(Demanda demanda){
        Session sessao = getSession();
        List list = null;
        try{
            Query query = sessao.createQuery("SELECT d FROM Demanda as d WHERE d.datasolicitacao=:data OR d.estado.id=:idEstado");
            query.setParameter("data", demanda.getDatasolicitacao());
            query.setParameter("idEstado", demanda.getEstado().getId());
            list = query.list();
            return list;
        }catch(Exception e){
            sessao.beginTransaction().rollback();
        }finally{
            sessao.close();
        }
        return list;
       
    }

Só que quando eu coloco dois parâmetros, como acima, só funciona o último deles. Por exemplo: Tento pesquisar por data e não filtra e nem chega executar a lista. Mas se eu por o Estado, filtra e executa a lista.

Dai eu tirei o parâmetro estado e deixei somente o data, para ver se iria funcionar. No caso filtrou e executou a lista. Dai pensei que a forma de setar mais de um parâmetro poderia ser diferente... E pelo que vcs me dizem, estou fazendo certo. Agora não sei pq com mais de um parâmetro não estou conseguindo filtrar com ambos.

Em 4 de julho de 2011 12:05, Rafael Neves <raneves.mg@gmail.com> escreveu:
ao que parece ele deseja fazer:
query.setParameter("Parametro", valor1 + valor2 + valor3);
algo similar a isso.
pelo que os colegas postaram ele deve fazer como o ricardo indicou.

Em 4 de julho de 2011 11:41, ricardo camargo <rifocamargo@xxxxxxxxx> escreveu:

em uma consulta hql vc deve colocar na sua frase os parâmetros dessa forma "campo1 = :primeiroParametro AND campo2 = :segundoParametro ..."
em seguida na sua query coloque:
query.setParameter("primeiroParametro", valor);
query.setParameter("segundoParametro", valor);

entendeu vilmar?

Em 4 de julho de 2011 11:18, Marcio Eduardo <marcio.e.luz@xxxxxxxxx> escreveu:

Olá Vilmar, posta o código para termos melhor compreensão do seu problema.

Em 3 de julho de 2011 21:54, vilmar ferreira <vilmarswim@xxxxxxxxx> escreveu:
Opa estou com problema. Tenho uma consulta HQL e para satisfazer precido setar dois parâmetros, como que faz?

utilizo query,setParameter mas so funciona com um. se eu coloco dois, so o ultimo funciona.

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Ricardo Camargo
Programador Pleno Java
Fone: (14) 9689 6819
Email: rifocamargo@xxxxxxxxx


--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Att,
Rafael Neves
Cursando Análise e Desenvolvimento de Sistemas
Em breve um analista!!!
Contato: Raneves.mg@xxxxxxxxx

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Ricardo Camargo
Programador Pleno Java
Fone: (14) 9689 6819
Email: rifocamargo@xxxxxxxxx


--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Wesley Garcia de Sousa
Analista Desenvolvedor Java
+55(62) 9181-4264.
+55(61) 8103-5002.


--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Ricardo Camargo
Programador Pleno Java
Fone: (14) 9689 6819
Email: rifocamargo@xxxxxxxxx





--
Ricardo Camargo
Programador Pleno Java
Fone: (14) 9689 6819
Email: rifocamargo@xxxxxxxxx


--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil
<Prev in Thread] Current Thread [Next in Thread>