Curso de Hibernate | Ejercicios Hibernate

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

Ejercicio Alumno

La aplicación consta de 3 clases: Main, Alumno y Servicio.

La clase Alumno tendrá tres propiedades: id(int), nombre (String) y edad (int).

Al arrancar la aplicación desde el Main se nos preguntará por la operación que deseamos hacer:

  • Insertar un nuevo alumno. Esta opción nos solicita el nombre y la edad del alumno que queremos insertar.
  • Eliminar un alumno. Esta opción nos solicita la id del alumno que deseamos eliminar.
  • Modificar los datos de un alumno. Esta opción nos solicita primero la id del alumno para poder identificarlo y luego su nuevo nombre y edad.
  • Mostrar todos los alumnos almacenados. Esta opción recorre el ArrayList de alumnos e imprime los nombres de cada uno.

La clase servicio tendrá los métodos nuevoAlumno, eliminarAlumno, modificarAlumno y getAlumnos que realizarán las 4 operaciones antes citadas. Haremos las operaciones contra una base de datos utilizando Hibernate.

Ejercicio Siniestro

Dada la siguiente estructura:

Curso de Hibernate | 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.ruedas

Si 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:

    Curso de Hibernate | 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 P order by p.edad

    Si 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

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