Ejercicios Hibernate

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

Ejercicio Siniestro

Dada la siguiente estructura:

Ejercicios Hibernate 1

Ejecutar las siguientes consultas

  1. Listar las matrículas de todos los vehículos.
  2. Listar la matrícula y la marca de todos los vehículos ordenados por número de ruedas.
  3. Listar la matrícula de todos los vehículos que tengan más de dos asientos y más de dos ruedas.
  4. Listar la matrícula de todos los vehículos que tengan más de dos asientos o más de dos ruedas.
  5. Listar la matrícula de todos los vehículos que tengan una matrícula de menos de seis caracteres (where length(v.matricula)<?).
  6. Listar la matrícula de todos los vehículos que hayan tenido un siniestro con perdida mayor de 1000 euros.
  7. Listar la matrícula de todos los vehículos que hayan tenido un siniestro con perdida mayor de 1000 euros. Mostrar a cuanto ascendió la pérdida.
    Almacenar el resultado de la la consulta en:
    • Una lista de listas de dos elementos; el primero será un bean de Vehículo y el segundo un Integer. La siguiente línea me devuelve una lista de listas de dos elementos; el primero será un bean y el segundo un String.select new List(v, s.perdida) from Vehiculo...
    • Una lista de beans VehiculoSiniestro, que tendrán cada uno dos propiedades, Vehiculo e Integer. Habrá que crear la clase VehiculoSiniestro con su correspondiente constructor.select new com.pablomonteserin.main.VehiculoSiniestro(v, s.perdida)...
    Cómo no resolver este ejercicio:select v.matricula, v.marca from Vehiculo v order by v.ruedasSi ejecutamos esta consulta y pretendemos recorrerla, estaríamos recorriendo una lista de un array de Objects:List <Object[]>result = hqlQuery.list(); Iterator<Object[]> it = result.iterator(); while(it.hasNext()){ Object[] obj = it.next(); System.out.println("Matricula: "+ obj[0]); System.out.println("Marca: "+ obj[1]);

Ejercicio Escuela

Dada la siguiente estructura:

Ejercicios Hibernate 2

Ejecutar las siguientes consultas

  1. Listar los nombres de todos los profesores.
  2. Listar el nombre y el apellido de todos los profesores ordenados por edad.
    Cómo no resolver este ejercicio:
    select p.nombre, p.apellido from Profesor v order by p.edadSi ejecutamos esta consulta y pretendemos recorrerla, estaríamos recorriendo una lista de un array de Objects:List <Object[]>result = hqlQuery.list(); Iterator<Object[]> it = result.iterator(); while(it.hasNext()){ Object[] obj = it.next(); System.out.println("Nombre: "+ obj[0]); System.out.println("Apellido: "+ obj[1]);
  3. Listar el nombre de todos los profesores que tengan más de treinta años y tengan más de 5 años de experiencia.
  4. Listar el nombre de todos los profesores que tengan más de treinta años o tengan más de 5 años de experiencia.
  5. Listar el nombre de todos los profesores que tengan un nombre de menos de seis caracteres (where length(p.nombre)<?).
  6. Listar el nombre de todos los profesores que hayan impartido un curso de más de 500 euros.
  7. Listar el nombre de todos los profesores que hayan impartido un curso de más de 500 euros. Mostrar cuanto ćostó dicho curso.
    Almacenar el resultado de la la consulta en:
    • Una lista de listas de dos elementos; el primero será un bean de Profesor y el segundo un Integer. La siguiente línea me devuelve una lista de listas de dos elementos; el primero será un bean y el segundo un String.select new List(p, c.precio) from Profesor...
    • Una lista de beans ProfesorCurso, que tendrán cada uno dos propiedades, Profesor e Integer. Habrá que crear la clase ProfesorCurso con su correspondiente constructor.select new com.pablomonteserin.main.ProfesorCurso(p, c.precio)...
Descargar código

Crear una relación n a n

Una relación n a n son dos relaciones 1 a n vinculadas a una misma tabla auxiliar. En MySQL WorkBench, podemos establecer dicha relación desde el panel Models → flechita → Create EER Model from Database, de forma que se creará automáticamente la tabla intermedia.

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.