Resumen
En esta oportunidad seguimos profundizando en los conceptos de ORM y la tecnología JPA/Hibernate:
- Mapeos sencillos (tipos primitivos)
- Mapeo de relaciones simples (
OneToOne
yManyToOne
) - Mapeos de colecciones (
OneToMany
yManyToMany
)
Además incorporamos el concepto de mapeo de herencia Inheritance
y enums (Enumerated
): ver acá.
Mencionamos algunos corolarios:
Mapeo de herencia:
- corolario 1: solo nos importa considerar el mapeo de herencia cuando
- atributo persistente
- de una clase persistente
- tipado con un tipo polimórfico
- corolario 2:
- solo la single table TIENE discriminador
- corolario 3:
- en Joined, las tablas “hijas” tiene un ID que es tanto PK como FK
- corolario 4:
- NO existe el mapeo de polimorfirmo, sólo de herencia
- Si queremos mapear una interfaz con las mismas restricciones del corolario 1, tenemos que realizar algún tipo de conversión:
- Opción 1: convertir la interfaz en un enum polimórfico (muy limitada, muy limitante)
- Opción 2: convertir nuestra interfaz en una clase abstracta (malas noticias: no siempre se puede)
Material
- Presentación
- Código utilizado:
- Guía de anotaciones.
- Apunte: Incorporar JPA a nuestra solución