elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  [Solucionado] no entiendo como se traduce esta consulta en hibernate
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] no entiendo como se traduce esta consulta en hibernate  (Leído 2,184 veces)
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
[Solucionado] no entiendo como se traduce esta consulta en hibernate
« en: 24 Enero 2015, 18:18 pm »

hola, me podrían ayudar a entender esta consulta en hibernate:

Código
  1.  
  2. String SQL_rolPersonal =
  3. "SELECT usuarioRolPersonal.rolPersonal
  4. FROM UsuarioRolPersonal usuarioRolPersonal
  5. WHERE usuarioRolPersonal.usuario.idUsuario = "+usuario.getIdUsuario();
  6.  
  7. RolPersonal rolPersonal = (RolPersonal) sessionFactory.getCurrentSession().createQuery(SQL_rolPersonal).uniqueResult();
  8.  
  9.  

primero se declara la query, y luego se ejecuta y se guarda en el objeto rolPersonal, lo que yo no entiendo es a qué tabla y columna llama esa query, ya que yo no tengo ninguna tabla con el nombre UsuarioRolPersonal. saludos.


« Última modificación: 24 Enero 2015, 18:33 pm por jhonatanAsm » En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: no entiendo como se traduce esta consulta en hibernate
« Respuesta #1 en: 24 Enero 2015, 18:33 pm »

ok ok ok, xD

resulta que UsuarioRolPersonal es una clase, y tiene un objeto de tipo Usuario, y este objeto usuario tiene un atributo llamado idUsuario.

bueno, la documentación dice que createQuery es para hacer querys usando Clases java.


En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: [Solucionado] no entiendo como se traduce esta consulta en hibernate
« Respuesta #2 en: 24 Enero 2015, 20:53 pm »

Claro. Recuerda que con los ORM trabajas siempre en base a objetos. Aunque UsuarioRolPersonal es una clase Java, representa a la tabla usuariorolpersonal. Por lo que los atributos de ésta clase, hacen referencia a las columnas de dicha tabla.

Supongo que Hibernate hará una consulta como:

Código
  1. SELECT * FROM usuariorolpersonal u
  2. WHERE u.id_usuario IN
  3. (SELECT u.id_usuario FROM usuario u)

En tu archivo persistence.xml, puedes añadir la propiedad "show_sql" para ver el código SQL que fabrica Hibernate:
Código
  1. <property name="show_sql" value="true"/>

Te recomiendo usar Hibernate como implementación de JPA y no Hibernate nativo. Usar siempre los estándars tienen sus ventajas. Además, siempre es posible obtener la sesión original de Hibernate para poder extender un poco JPA. Pero como recomendación, usar JPA con Hibernate o EclipseLink.
« Última modificación: 24 Enero 2015, 21:46 pm por Gus Garsaky » En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: [Solucionado] no entiendo como se traduce esta consulta en hibernate
« Respuesta #3 en: 25 Enero 2015, 02:44 am »

gracias, pero tengo una duda,
cómo sabes que no uso a hibernate como implementación de JPA??
En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: [Solucionado] no entiendo como se traduce esta consulta en hibernate
« Respuesta #4 en: 25 Enero 2015, 14:28 pm »

Lo asumo al leer ésta línea donde obtienes la sesión de Hibernate:

Código
  1. RolPersonal rolPersonal = (RolPersonal) sessionFactory.getCurrentSession().createQuery(SQL_rolPersonal).uniqueResult();

Si usaras JPA harías:

Código
  1. em.getTransaction().begin();
  2. Query query = em.createQuery(sql);
  3. ...
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: [Solucionado] no entiendo como se traduce esta consulta en hibernate
« Respuesta #5 en: 25 Enero 2015, 17:51 pm »

gracias, que amable :)
En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cómo hacer esta consulta SQL
Bases de Datos
Aikanáro Anário 1 4,370 Último mensaje 17 Septiembre 2011, 01:56 am
por fran800m
Como hacer esta consulta??
Bases de Datos
[u]nsigned 5 10,444 Último mensaje 22 Diciembre 2011, 14:01 pm
por |Miguel|
¿Cómo hacer esta consulta? « 1 2 »
Bases de Datos
KateLibby 12 8,473 Último mensaje 14 Mayo 2012, 11:53 am
por KateLibby
Como ejecutar esta consulta?
Programación Visual Basic
menu151 0 2,015 Último mensaje 5 Febrero 2013, 05:25 am
por menu151
Porque esta consulta, me devuelve valores null ??? [SOLUCIONADO]
PHP
Razzari 4 2,696 Último mensaje 24 Febrero 2017, 02:46 am
por danny920825
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines