¿ Qué es un ORM ?
ORM significa Object - Relational Mapping. Es una técnica de programación para automatizar la persistencia de objetos en una base de datos relacional
¿ En qué consiste un ORM ?
Un ORM consta de 4 elementos:
¿Cuáles son los niveles de ORM?
Los niveles son:
Estrictamente relacional (stored procedure)
Mapeo ligero de objetos (JDBC)
Mapeo medio de objetos
Mapeo completo de objetos (composición, herencia, polimorfismo, persistencia por accesibilidad)
¿ Qué es Hibernate ?
Es un framework de persistencia en Java que implementa un ORM. Es decir, permite mapear objetos en Java a registros en tablas de una DB relacional. Utiliza archivos de configuración XML.
Su principal propósito es delegar las tareas de persistencia al framework y aligerar el desarrollo de software.
¿Porqué se requieren herramientas como Hibernate?
La principal ventaja es que libera a los desarrolladores de lidiar con SQL
ORM proporciona las siguientes ventajas:
1. Mejora la productividad
API de alto nivel, orientada a objetos
Reduce la cantidad de código a escribir
No se requiere escribir SQL
2. Mejora el rendimiento
Caché sofisticado
Carga temprana o diferida (lazy / eager)
3. Menos código al qué dar mantenimiento
4. Portabilidad (genera SQL específico para el motor de base de datos en cuestión)
¿ Qué simplifica Hibernate ?
¿Porqué se necesita el archivo XML de mapeo?
¿Cuáles son los métodos más comunes para configurar Hibernate?
Configuración programática (en código)
Archivo XML de configuración (hibernate.cfg.xml)
¿Cuáles son las etiquetas más importantes del archivo hibernate.cfg.xml?
Las etiquetas “property” donde se configuran los datos de conexión a la DB (driver, usuario / pwd de usuario, URL, puerto, dialecto)
Si hay pool de conexión y el tamaño de éste
Las etiquetas “mapping” donde se configuran los archivos XML de cada tabla / clase
¿Cuáles son las interfaces (java) básicas de Hibernate?
¿Qué rol juega la interfaz “Session” en Hibernate?
Esta es la interfaz principal que utiliza un aplicación que integra Hibernate.
Consta de un solo hilo y representa un objeto de corta vida que se comunica con la aplicación y la base de datos. Permite crear objetos de consulta para recuperar objetos persistentes.
Session session = sessionFactory.openSession();
Su rol es:
¿Qué rol juega la interfaz “SessionFactory” en Hibernate?
La aplicación obtiene una instancia de sesión a DB mediante un SessionFactory. Usualmente existe sólo una fábrica de sesiones en la aplicación.
El caché de la fábrica, construye sentencias SQL y otros metadatos que Hibernate utiliza en tiempo de ejecución. También mantiene datos en caché.
SessionFactory sessionFactory = configuration.buildSessionFactory();
¿Cuál es el flujo de comunicación general de Hibernate con el RDBMS?
El flujo es:
¿Qué es HQL?
Significa Hibernate Query Language y es una extensión de SQL orientada a objetos
Ofrece un lenguaje que incorpora un mecanismo potente y flexible para consultar, almacenar, actualizar y recuperar objetos de una DB.
¿Cómo se mapean los objetos Java a registros en la DB?
Primero necesitamos un objeto java POJO (beans with setter and getter).
Luego escribimos el archivo hbm.xml, donde se especifica la tabla que corresponde a la clase del objeto y se establecen las relaciones entre propiedades del objeto y columnas de la tabla.
¿Cuál es la diferencia entre load() y get() ?
tabla