Consegui resolver
simples assim:
Query query = sessionFactory.openSession().createQuery("Select
count(a.equCodigo) as qtd,equDepartamentoCodigo.depNome as nome"
+ " FROM
Equipamento a "
+ "group by
a.equDepartamentoCodigo.depNome")
.setResultTransformer(new
AliasToBeanResultTransformer(Consulta.class));
return query.list();
única coisa q eu apanhei é q no bean Consulta o atributo qtd estava como
Integer e coloquei Number
ai ficou legal
valeu feras
julio
Em 29/03/2012 08:33, Paulo Fernando Stoppa escreveu:
O criteria só da pra usar quando o Bean é uma entidade do hibernate.
No caso a classe Consulta é somente um Bean pra trazer os resultados.
Você tem os getter's e setters das propriedades?
Outra coisa, faz também um addScallar, tipo assim:
/Query query = sessionFactory.openSession().createQuery("Select
count(a.equCodigo) as qtd,"/
/ + " FROM Equipamento a"
+ " group by a.equCodigo ").addScalar("//qtd//",
Hibernate.INTEGER)
.setResultTransformer(new
AliasToBeanResultTransformer(Consulta.class));/
Paulo Fernando Stoppa
[email protected] <mailto:[email protected]>
Em 29 de março de 2012 07:45, Re JMD <[email protected]
<mailto:[email protected]>> escreveu:
Cara já que você já tem um Bean vc pode utilizar Criteria.
Em 28 de março de 2012 11:49, Julio Cesar <[email protected]
<mailto:[email protected]>> escreveu:
Bom dia pessoal
Estou utilizando flex + hibernate, apanhei muito para deixar
rodando e funcionando certinho, mas agora me surgiu um
problema que não estou conseguindo resolver(por parte)
Estou estava utilizando a createQuery da seguinte forma:
Query query =
sessionFactory.getCurrentSession().createQuery("Select
count(equCodigo) as
qtd,equDepartamentoCodigo.depUnidadeCodigo.uniNome "
+ " FROM
Equipamento "
+ " group
by equDepartamentoCodigo.depUnidadeCodigo.uniNome ");
return query.list();
porém ele vem sem as colunas, já li em alguns lugares que é pq
ele nao tem um BEAN associado com esses atributos
*vem desse jeito:
{2, Adm. Hospitalar}
{2, Plano}
/p/ falar vdd consigo pegar os dados no flex, onde no
datafield do datagrid eu coloco 0 ou 1/**
*
ai eu fiz um novo bean (Consulta) só com os atributos *nome* e
*qtd*
e fiz igual o stefan falou no topico:
https://groups.google.com/group/flexdev/browse_thread/thread/8ba2b41d4f4809ea/d33a4893d4d1caba?hl=pt&lnk=gst&q=setResultTransformer#d33a4893d4d1caba
<https://groups.google.com/group/flexdev/browse_thread/thread/8ba2b41d4f4809ea/d33a4893d4d1caba?hl=pt&lnk=gst&q=setResultTransformer#d33a4893d4d1caba>
então ficou assim:
/Query query =
sessionFactory.openSession().createQuery("Select
count(a.equCodigo) as qtd"
+ " FROM
Equipamento a"
+ " group
by a.equCodigo ")
.setResultTransformer(new
AliasToBeanResultTransformer(Consulta.class));/
/ return query.list(); /
*porém da erro:*
Exception in thread "main"
org.hibernate.PropertyAccessException:
IllegalArgumentException occurred while calling setter of
br.com.equipamentos.model.Consulta.qtd
at
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:128)
at
org.hibernate.transform.AliasToBeanResultTransformer.transformTuple(AliasToBeanResultTransformer.java:91)
at
org.hibernate.hql.HolderInstantiator.instantiate(HolderInstantiator.java:96)
at
org.hibernate.loader.hql.QueryLoader.getResultList(QueryLoader.java:423)
at
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452)
at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at
br.com.equipamentos.dao.GenericDaoImp.listaQtdEquipamentoDepartamento(GenericDaoImp.java:255)
at
br.com.equipamentos.service.impl.EquipamentoServiceImpl.listaQtdEquipamentoDepartamento(EquipamentoServiceImpl.java:44)
at Main.main(Main.java:39)
Caused by: java.lang.IllegalArgumentException: argument type
mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:66)
... 13 more
Java Result: 1
onde esta errado ????
-- Obrigado Julio
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para
[email protected] <mailto:[email protected]>
Para sair da lista, envie um email em branco para
[email protected]
<mailto:[email protected]>
Mais opções estão disponíveis em
http://groups.google.com/group/flexdev
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para
[email protected] <mailto:[email protected]>
Para sair da lista, envie um email em branco para
[email protected]
<mailto:[email protected]>
Mais opções estão disponíveis em
http://groups.google.com/group/flexdev
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
--
Obrigado
Julio
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev