Esta unidad llamada “Relaciones” explica como realizar las distintas relaciones entre entidades de Hibernate.
El motivo de solo estudiar estos temas es por un lado que esta unidad quedó el año pasado muy pesada al ver todos los tipos de relaciones. Pero el motivo principal es un problema con Hibernate en la relaciones muchos a muchos que hacen que al borrar una fila se borren mas filas de las necesarias.
Así que por un lado no es recomendable usar la relación Muchos a muchos. También para qué explicar la relación Uno a muchos (desordenada) si realmente en mas conveniente usar Uno a muchos (ordenada) ya que no se pierde nada. Por otro lado las relaciones “uno a no” tampoco son tan habituales.
Por todo ello mejor aligerar esta unidad y tener más tiempo para las 2 últimas unidades que son más interesantes y mas complejas.
Aun así se ha dejado el material extra por si al alguien le interesa profundizar en el tema.
Todos los ejemplos de esta unidad se encuentran en github en https://github.com/logongas/cursohibernate/tree/master/ejemplos/unidad_03.
En caso de no disponer de git en el ordenador cliente se puede descargar en un fichero zip todos los ejemplos del curso desde master.zip
Profesor
hacía Direccion
(unidireccional) usando ficheros “.hbm.xml
”.Profesor
hacía Direccion
(unidireccional) usando anotaciones de JPA.Profesor
y Direccion
(bidireccional) usando ficheros “.hbm.xml
”.Profesor
y Direccion
(bidireccional) usando anotaciones de JPA.Profesor
y CorreoElectronico
, pero sin ordenar, usando ficheros “.hbm.xml
”.Profesor
y CorreoElectronico
, pero sin ordenar, usando anotaciones de JPA.Profesor
y CorreoElectronico
, ordenada , usando ficheros “.hbm.xml
”.Profesor
y CorreoElectronico
, ordenada , usando anotaciones de JPA.Profesor
y Modulo
, usando ficheros “.hbm.xml
”.Profesor
y Modulo
, usando anotaciones de JPA.equals
y hashCode
. Realizamos la comparación y añadir a un Set el mismo objetos obtenido en distintas sesiones. Con la clase Profesor
los resultados son erróneos pero con la clase Usuario
son correctos, ya que hemos sobreescrito los métodos equals
y hashCode
.Los ejercicios de esta unidad se encuentran en Relaciones