Hibernate

¿Para qué sirve?

  • Disminuye la cantidad de código usado.
  • Simplifica la interacción con la base de datos.
  • Optimiza el acceso a la base de datos.

ORM

Object Relational Mapping. Se encarga de transformar las tablas en clases, los campos en propiedades y viceversa.

Clave primaria

Usando Hibernate:

  • es fundamental que las tablas tengan clave primaria.
  • no es posible modificar claves primarias.

Lecciones

Transacciones

Conjunto de operaciones contra la base de datos que se realizan de forma atómica (o todas o ninguna). ¿Cuando nos interesa crear una transacción? Cuando modificamos la base de datos (y por tanto deseamos poder hacer rollback()). Para una consulta no es necesario. Crear una transacción consume recursos. Un objeto Session […]

Claves foráneas

El siguiente código SQL genera una relación 1 a muchos: El código para generar una relación uno a uno sería igual, pero cambiando los nombres de los campos a los que hago referencia: ALTER TABLE autor ADD FOREIGN KEY ( id ) REFERENCES padre_autor (id) Nota: Para asignar las foreing keys […]

Carga perezosa

Es una estrategia que consiste en demorar la carga de un objeto hasta que este sea requerido. Es decir, la carga del objeto se realiza de manera explícita cuando este es invocado. Lazy loading se utiliza en aquellos casos en los que la aplicación necesita acceder solo a una parte […]

Ejercicio autor

Establecer la relación 1-n en los pojos Insertar un autor Insertar un autor y sus libros session.flush() Este método se asegura de que la información ha sido persistida en la base de datos, de forma que ya sea posible cerrar con seguridad la session. Este método es ejecutado automáticamente por […]

Criteria

Se utiliza para hacer consultas Métodos de la clase Criteria Nota: Utilizando Criteria no es necesario hacer commit(), ya que la llamada a este método es para materializar cambios en la base de datos. Ejercicio 5 libros Insertar 5 libros en la base de datos. Dos registros deben tener el mismo […]

HQL

Evitar inyección SQL Consulta relacionada Nota: La siguiente línea es equivalente a la línea en verde (pero utilizando join): Las palabras escritas en rojo son propiedades de las clases, no son campos de la base de datos.

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 […]

Ejercicios

Ejercicio Siniestro Dada la siguiente estructura: Ejecutar las siguientes consultas Listar las matrículas de todos los vehículos. Listar la matrícula y la marca de todos los vehículos ordenados por número de ruedas. Listar la matrícula de todos los vehículos que tengan más de dos asientos y más de dos ruedas. […]

JPA (Java Persistence)

Es una especificación standard de la industria del desarrollo con Java para manipular una base de datos relacional utilizando la programación orientada a objetos como aproximación. Al ser una especificación, por sí sola no puede manipular la base de datos. Es un conjunto de interfaces que deben ser implementadas. Main.java […]

Aviso Legal | Política de privacidad