duda hibernate

19 views
Skip to first unread message

alonzo fernandez becerra

unread,
Oct 12, 2010, 8:31:30 PM10/12/10
to foro-sh
Como es posible extraer los datos de un HQL?

por ejemplo
Query q=h3.createQuery("from RegistraProgramaGeneralObra pgo,
RegistraInstitucion ri fetch all properties where
ri.idInstitucion="+dependencia+" and year(pgo.fecha)='"+anio+"' and
ri.idInstitucion=pgo.idInstitucion").setCacheable(false);


Domingo Suárez Torres

unread,
Oct 12, 2010, 8:34:55 PM10/12/10
to for...@googlegroups.com
con q.list()

Saludos


2010/10/12 alonzo fernandez becerra <alon...@gmail.com>


--
Has recibido este mensaje porque estás suscrito al grupo "foro-sh" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a for...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a foro-sh+u...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/foro-sh?hl=es.


alonzo fernandez becerra

unread,
Oct 12, 2010, 8:41:14 PM10/12/10
to foro-sh
si pero por ejemplo por lo general lo que hago
siempre es hacer lo siguiente

POJO p=(POJO)lista.get(i);

pero en el caso de la consulta anterior me marca un error de
conversion cast

On 12 oct, 19:34, Domingo Suárez Torres <domingo.sua...@gmail.com>
wrote:
> con q.list()http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html
>
> Saludos
>
> 2010/10/12 alonzo fernandez becerra <alonzo...@gmail.com>
>
>
>
> > Como es posible extraer los datos de un HQL?
>
> > por ejemplo
> > Query q=h3.createQuery("from RegistraProgramaGeneralObra pgo,
> > RegistraInstitucion ri  fetch all properties where
> > ri.idInstitucion="+dependencia+" and year(pgo.fecha)='"+anio+"' and
> > ri.idInstitucion=pgo.idInstitucion").setCacheable(false);
>
> > --
> > Has recibido este mensaje porque estás suscrito al grupo "foro-sh" de
> > Grupos de Google.
> > Para publicar una entrada en este grupo, envía un correo electrónico a
> > for...@googlegroups.com.
> > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > foro-sh+u...@googlegroups.com<foro-sh%2Bunsu...@googlegroups.com >

Domingo Suárez Torres

unread,
Oct 12, 2010, 8:43:49 PM10/12/10
to for...@googlegroups.com
ahh lo que ocurre, es que estas usando 2 clases en el from, para que sepas como lo trata hibernate, itera la lista y saca el class de elemento, asi veras que tipo genera hibernate cuando usas varias clases en el from.

Saludos

2010/10/12 alonzo fernandez becerra <alon...@gmail.com>

alonzo fernandez becerra

unread,
Oct 12, 2010, 8:48:01 PM10/12/10
to foro-sh, Domingo Suárez Torres
creo que ahi esta mi problema como hacer eso?

On 12 oct, 19:43, Domingo Suárez Torres <domingo...@gmail.com>
wrote:
> > <foro-sh%2Bunsu...@googlegroups.com<foro-sh%252Bunsubscribe@googlegroup s.com>>

alonzo fernandez becerra

unread,
Oct 12, 2010, 8:54:24 PM10/12/10
to foro-sh

bueno mas bien como o cn que clases puedo extraer eso que usted
comenta?
:S:S la verdad si que estoy un poco confundido

On 12 oct, 19:43, Domingo Suárez Torres <domingo.sua...@gmail.com>
wrote:
> ahh lo que ocurre, es que estas usando 2 clases en el from, para que sepas
> como lo trata hibernate, itera la lista y saca el class de elemento, asi
> veras que tipo genera hibernate cuando usas varias clases en el from.
>
> Saludos
>
> 2010/10/12 alonzo fernandez becerra <alonzo...@gmail.com>
>
>
>
> > si pero por ejemplo por lo general lo que hago
> > siempre es hacer lo siguiente
>
> > POJO p=(POJO)lista.get(i);
>
> > pero en el caso de la consulta anterior me marca un error de
> > conversion cast
>
> > On 12 oct, 19:34, Domingo Suárez Torres <domingo.sua...@gmail.com>
> > wrote:
> > > con q.list()
> >http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html
>
> > > Saludos
>
> > > 2010/10/12 alonzo fernandez becerra <alonzo...@gmail.com>
>
> > > > Como es posible extraer los datos de un HQL?
>
> > > > por ejemplo
> > > > Query q=h3.createQuery("from RegistraProgramaGeneralObra pgo,
> > > > RegistraInstitucion ri  fetch all properties where
> > > > ri.idInstitucion="+dependencia+" and year(pgo.fecha)='"+anio+"' and
> > > > ri.idInstitucion=pgo.idInstitucion").setCacheable(false);
>
> > > > --
> > > > Has recibido este mensaje porque estás suscrito al grupo "foro-sh" de
> > > > Grupos de Google.
> > > > Para publicar una entrada en este grupo, envía un correo electrónico a
> > > > for...@googlegroups.com.
> > > > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > > > foro-sh+u...@googlegroups.com<foro-sh%2Bunsu...@googlegroups.com >
> > <foro-sh%2Bunsu...@googlegroups.com<foro-sh%252Bunsubscribe@googlegroup s.com>>

Domingo Suárez Torres

unread,
Oct 12, 2010, 8:56:33 PM10/12/10
to for...@googlegroups.com
List results = q.list()

for(Object object in results) {
   System.out.println(object.getClass().getName());
}



2010/10/12 alonzo fernandez becerra <alon...@gmail.com>

Rafael Gutiérrez

unread,
Oct 12, 2010, 8:57:32 PM10/12/10
to for...@googlegroups.com
Tiene rato que no uso Hibernate, pero si no estoy mal cuando usas varios Entities en tu FROM del query Hibernate te regresa un arreglo de objetos Object[].

Por ejemplo tu query tiene esto "from RegistraProgramaGeneralObra pgo, RegistraInstitucion ri", entonces hibernate deberia estar regresando un  arreglo de objetos donde en la posicion 0 esta tu pojo RegistraProgramaGeneralObra  y en la posicion 1 tu otro pojo RegistraInstitucion.

Saludos

Rafa Gtz

2010/10/12 alonzo fernandez becerra <alon...@gmail.com>

alonzo fernandez becerra

unread,
Oct 12, 2010, 9:13:41 PM10/12/10
to foro-sh
creo que o estoy muy confundido o no se pero la verdad si hago eso
para ver que ondas pero creo que no me arroja nada util
el .getclass.getName();

que puedo hacer?
les agradeceria mucho puesto que si ya stoy muy muy confundido :S:s


On 12 oct, 19:57, Rafael Gutiérrez <abadon.gutier...@gmail.com> wrote:
> Tiene rato que no uso Hibernate, pero si no estoy mal cuando usas varios
> Entities en tu FROM del query Hibernate te regresa un arreglo de objetos
> Object[].
>
> Por ejemplo tu query tiene esto "from RegistraProgramaGeneralObra
> pgo, RegistraInstitucion ri", entonces hibernate deberia estar regresando un
>  arreglo de objetos donde en la posicion 0 esta tu pojo
> RegistraProgramaGeneralObra  y
> en la posicion 1 tu otro pojo RegistraInstitucion.
>
> Saludos
>
> Rafa Gtz
>
> 2010/10/12 alonzo fernandez becerra <alonzo...@gmail.com>
> > > > <foro-sh%2Bunsu...@googlegroups.com<foro-sh%252Bunsubscribe@googlegroup s.com>

alonzo fernandez becerra

unread,
Oct 12, 2010, 9:19:23 PM10/12/10
to foro-sh, Domingo Suárez Torres
creo que o estoy muy confundido o no se pero la verdad si hago eso
para ver que ondas pero creo que no me arroja nada util
el .getclass.getName();
que puedo hacer?
les agradeceria mucho puesto que si ya stoy muy muy confundido :S:s

On 12 oct, 19:43, Domingo Suárez Torres <domingo...@gmail.com>
wrote:
> > <foro-sh%2Bunsu...@googlegroups.com<foro-sh%252Bunsubscribe@googlegroup s.com>>

Bonvallets

unread,
Oct 12, 2010, 9:38:51 PM10/12/10
to foro-sh
Una idea que se me ocurre es que hagas select solo sobre los hib
pojos : "RegistraProgramaGeneralObra",
de ese modo

List<RegistraProgramaGeneralObra> results = q.list()

puedes luego iterar sobre esos pojos.

lo otro que debes hacer es que mapees bien tus entidades por ejemplo

entre las tablas RegistraProgramaGeneralObra y RegistraInstitucion
identifico una llave foranea (ri.idInstitucion=pgo.idInstitucion )

Asi que en tu hib pojo RegistraProgramaGeneralObra

pon la referencia a la otra tabla/hib pojo RegistraInstitucion :

@Entity
public class RegistraProgramaGeneralObra {

...
@ManyToOne(fetch = FetchType.EAGER, cascade=CascadeType.ALL)
@JoinColumn(name = "idInstitucion")
private RegistraInstitucion registraInstitucion ;

..
}




On 12 oct, 22:19, alonzo fernandez becerra <alonzo...@gmail.com>
wrote:
> creo que o estoy muy confundido o no se pero la verdad si hago eso
> para ver que ondas pero creo que no me arroja nada util
> el .getclass.getName();
> que puedo hacer?
> les agradeceria mucho puesto que si ya stoy muy muy confundido :S:s
>
> On 12 oct, 19:43, Domingo Suárez Torres <domingo.sua...@gmail.com>
> wrote:
>
>
>
> > ahh lo que ocurre, es que estas usando 2 clases en el from, para que sepas
> > como lo trata hibernate, itera la lista y saca el class de elemento, asi
> > veras que tipo genera hibernate cuando usas varias clases en el from.
>
> > Saludos
>
> > 2010/10/12 alonzo fernandez becerra <alonzo...@gmail.com>

Emanuel Goette

unread,
Oct 12, 2010, 11:07:25 PM10/12/10
to for...@googlegroups.com
Claro, lo que debería hacer es seleccionar el objeto.

Query q = s.createQuery("select obj1from class1 as obj1, class2 as obj3 ...");

Si necesitas los 2 objetos llegan como una lista que contiene un vector de 2 objetos, si vos queres hacer esto más "lindo" podrías hacer

Query q = s.createQuery("select new Group(obj1,obj2) from class1 as obj1, class2 as obj2 ...");

Donde Group es una clase que contiene los dos objetos y los necesita en el constructor.

Espero que te haya servido.

alonzo fernandez becerra

unread,
Oct 13, 2010, 1:34:51 AM10/13/10
to foro-sh
orales y ya en base a ese query lo puedo implementar
List lista=q.list()
o necesito alguna otra especificacion

On 12 oct, 22:07, Emanuel Goette <emanuel...@gmail.com> wrote:
> Claro, lo que debería hacer es seleccionar el objeto.
>
> Query q = s.createQuery("select obj1from class1 as obj1, class2 as obj3
> ...");
>
> Si necesitas los 2 objetos llegan como una lista que contiene un vector de 2
> objetos, si vos queres hacer esto más "lindo" podrías hacer
>
> Query q = s.createQuery("select new Group(obj1,obj2) from class1 as obj1,
> class2 as obj2 ...");
>
> Donde Group es una clase que contiene los dos objetos y los necesita en el
> constructor.
>
> Espero que te haya servido.
>
> > > > > <foro-sh%2Bunsu...@googlegroups.com<foro-sh%252Bunsubscribe@googlegroup s.com>

Emanuel Goette

unread,
Oct 13, 2010, 8:35:48 PM10/13/10
to for...@googlegroups.com
solo

List lista=q.list();

Emanuel Goette

unread,
Oct 13, 2010, 8:38:15 PM10/13/10
to for...@googlegroups.com
La documentación de hibernate es muy muy buena. Yo siempre me olvido de estas cosas y la docu es muy clara:

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html#queryhql-select

alonzo fernandez becerra

unread,
Oct 25, 2010, 8:17:51 PM10/25/10
to foro-sh
hay alguien disponible en este momento

On 13 oct, 19:38, Emanuel Goette <emanuel...@gmail.com> wrote:
> La documentación de hibernate es muy muy buena. Yo siempre me olvido de
> estas cosas y la docu es muy clara:
>
> http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.h...
>
> El 13 de octubre de 2010 21:35, Emanuel Goette <emanuel...@gmail.com>escribió:
>
>
>
>
>
>
>
> > solo
>
> > List lista=q.list();
>
> > El 13 de octubre de 2010 02:34, alonzo fernandez becerra <
> > alonzo...@gmail.com> escribió:
Reply all
Reply to author
Forward
0 new messages