Cara já que você já tem um Bean vc pode utilizar Criteria. Em 28 de março de 2012 11:49, Julio Cesar <jcasilv...@gmail.com> 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 > > 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 flexdev@googlegroups.com > Para sair da lista, envie um email em branco para > flexdev-unsubscr...@googlegroups.com > 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 flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev