1 00:00:01,330 --> 00:00:27,449 Bueno, vamos a probar si nos funciona una cosa que es muy interesante, y es directamente, vamos a ir a la pestaña de Hibernate, vamos a recargar el proyecto por sí, en estos cambios que hemos hecho, si hubiera producido algún error, efectivamente vemos que están bien creadas las clases, voy a pulsar aquí ENTER, encima de departamento, y vemos aquí un SELECT, pero un SELECT un poco curioso, SELECT departamento, front departamento, 2 00:00:27,449 --> 00:00:30,250 todavía más curioso sería si viéramos este de aquí 3 00:00:30,250 --> 00:00:32,350 uy, perdón, este de aquí 4 00:00:32,350 --> 00:00:34,750 nada, nada, elimino este de aquí 5 00:00:34,750 --> 00:00:36,909 bueno, estoy en este de aquí 6 00:00:36,909 --> 00:00:42,700 y ahí aparece runhql 7 00:00:42,700 --> 00:00:46,299 es decir, el lenguaje de interrogación que tiene el propio Evernight 8 00:00:46,299 --> 00:00:47,859 vamos a darle 9 00:00:47,859 --> 00:00:53,090 nos dice aquí que saca unos errores 10 00:00:53,090 --> 00:00:55,990 ¿vale? nos saca unos errores 11 00:00:55,990 --> 00:00:57,630 voy a ver esto más el resultado 12 00:00:57,630 --> 00:01:00,049 y aunque ha salido unos errores 13 00:01:00,049 --> 00:01:03,810 vemos que nos ha devuelto dos departamentos. 14 00:01:03,969 --> 00:01:07,629 Voy a ampliar un poquito esto de propiedades también para verlo mejor. 15 00:01:08,549 --> 00:01:09,810 Voy a pinchar en uno de ellos. 16 00:01:10,430 --> 00:01:15,030 Y efectivamente el primer departamento que tengo es el que corresponde al identificado 1 17 00:01:15,030 --> 00:01:18,329 y el nombre finanzas. 18 00:01:18,650 --> 00:01:23,510 Es más, como es un objeto lo que hemos obtenido, 19 00:01:23,730 --> 00:01:27,870 aparecen los empleados que están asociados a ese departamento. 20 00:01:27,870 --> 00:01:29,450 me voy al segundo 21 00:01:29,450 --> 00:01:32,370 y en el segundo es el departamento de producción 22 00:01:32,370 --> 00:01:35,670 y deberían aparecer los empleados que están asociados 23 00:01:35,670 --> 00:01:36,609 y vemos que hay dos 24 00:01:36,609 --> 00:01:40,430 este primero era Juan Velasco 25 00:01:40,430 --> 00:01:41,930 los ejemplos que pusimos antes 26 00:01:41,930 --> 00:01:46,469 y este segundo es este de aquí 27 00:01:46,469 --> 00:01:48,870 es decir, tengo ahora mismo información 28 00:01:48,870 --> 00:01:52,650 que deberíamos tener recogida en la base de datos 29 00:01:52,650 --> 00:01:56,049 vamos a comprobar que efectivamente 30 00:01:56,049 --> 00:01:57,530 esto está metido en la base de datos 31 00:01:57,530 --> 00:02:19,129 Entonces me voy a mi phpMyAdmin, si voy al departamento tengo mis dos departamentos, el 1 y el 10, y si me voy a la tabla de empleados, pues efectivamente Ana López está en el departamento 1 y Juan Velasco y María García, que es lo que tenemos en la pantalla anterior, en el 10. 32 00:02:19,129 --> 00:02:34,080 El lenguaje HQL tiene muchos parecidos con SQL, pero por ejemplo, vamos a ver una instrucción como esta que voy a pintar ahora mismo. 33 00:02:34,919 --> 00:02:41,379 Si yo ejecuto esto, pues hemos obtenido exactamente la misma información. 34 00:02:41,719 --> 00:02:49,139 Esta es una sentencia HQL directa en la cual obtengo la misma información que teníamos antes. 35 00:02:49,680 --> 00:02:55,000 Muy importante es que obtenemos objetos, y a mí esto es algo que me parece que queda poco reseñado. 36 00:02:55,500 --> 00:02:59,240 Es decir, estamos obteniendo el departamento y todo lo que está asociado al departamento. 37 00:02:59,620 --> 00:03:04,520 Recordemos que la clase departamento, vamos a ver el código de la clase departamento, 38 00:03:05,319 --> 00:03:12,659 aparece como atributos tanto el identificador como el nombre, como los empleados que están en él. 39 00:03:13,120 --> 00:03:18,319 Con lo cual, este objeto departamento es un objeto con muchísima información, 40 00:03:18,319 --> 00:03:43,360 Y esta es una de las maravillas de este mapeo. Si fuéramos a ver la clase empleado y tuviéramos esta sentencia simplemente, o directamente ya poner la sentencia más simple para obtener esta información, que sería esta de aquí, pues si fuéramos a cada uno de ellos, pues estaría aquí cada uno de ellos con su departamento. 41 00:03:43,360 --> 00:03:51,099 Entonces, fíjense que simplemente solicitando al empleado podemos encontrar esa información. 42 00:03:52,520 --> 00:04:03,849 Podemos, por supuesto, seleccionar campo a campo. Por ejemplo, select nombre from empleado. 43 00:04:05,069 --> 00:04:10,509 Entonces, si damos a esta información, pues aquí vemos efectivamente que obtenemos el nombre. 44 00:04:10,509 --> 00:04:29,899 Y así cualquiera de los datos. O select nombre, departamento, from, empleado. Entonces lo que nos devolvería es esta información de así. Vamos a avanzar un poquito más. Vamos incluso a decirle departamento, nombre. 45 00:04:29,899 --> 00:04:41,279 y vemos que una información que en otros sistemas relacionales deberíamos incluir aquí unos inner join, etc., 46 00:04:41,279 --> 00:04:44,300 directamente nos sale toda esta información. 47 00:04:44,959 --> 00:04:48,779 Iremos avanzando en este lenguaje.