|
|
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?
--
-- 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
-- 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
|
|