Curso de Hibernate Framework Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx [email protected] Lección 1. Introducción a Hibernate Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx [email protected] Lección 1. Introducción a Hibernate Lección 1. Introducción a Hibernate •Un framework es un conjunto de clases que nos permiten resolver un problema en específico. •Hibernate es un framework ( www.hibernate.org ) que implementa el concepto ORM. Hibernate resuelve muchos de los problemas que se presentan en la capa de datos de una aplicación Java. Hibernate es utilizado en proyectos muy diversos, como pueden ser en Instituciones Bancarias, Aseguradoras, Instituciones Educativas y de Gobierno, entre mucho giros más. Curso de Hibernate Framework Lección 1. Introducción a Hibernate Concepto de ORM (Object Relational Mapping) • Persistencia: Al persistir información podremos acceder a la misma, incluso posterior a que el proceso o la aplicación termine de ejecutarse. • Bases de Datos Relacionales: Una base de datos relacional nos permite guardar la información de nuestras aplicaciones en tablas relacionales. • Objetos de Entidad: Existen algunos objetos Java que se deben guardar y recuperar de una Base de Datos. A estas clases Java se les conoce como clases de Entidad. • Concepto de ORM: Es una técnica en lenguajes Orientados a Objetos para mapear objetos de Entidad en tablas de una Base de Datos relacional. Curso de Hibernate Framework Lección 1. Introducción a Hibernate Arquitectura Multicapas Curso de Hibernate Framework Lección 2. Configuración de Hibernate Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx [email protected] Lección 2. Configuración de Hibernate Aplicación Web (PersonasWeb) •Crear una aplicación Web utilizando JSP’s y Servlets •Utilizar el patrón de diseño MVC para la capa de presentación •Reutilizar el código creado de la capa de datos para administrar el catálogo de la tabla de personas •La aplicación debe manejar el listado de personas. Nota: Se creará una capa de Servicio muy simple, con el objetivo de separar las capas de nuestra arquitectura según la figura siguiente: Curso de Hibernate Framework Lección 1. Introducción a Hibernate Arquitectura Aplicación PersonasWeb Curso de Hibernate Framework Lección 3. Mapeo de Asociaciones Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx [email protected] Lección 3. Mapeo de Asociaciones Lección 3. Mapeo de Asociaciones •Las asociaciones en Hibernate son las mismas que se manejan en la teoría de bases de datos relacionales 1a1 1 a Muchos o Muchos a 1 Muchos a Muchos •Hibernate soporta las relaciones mencionadas en los archivos de mapeo de cada clase de Entidad. Curso de Hibernate Framework Lección 3. Mapeo de Asociaciones Ejemplo de Relación 1 a 1 (Un Alumno tiene Un Domicilio) Curso de Hibernate Framework Lección 3. Mapeo de Asociaciones Ejemplo de Relación 1 a Muchos (Un Instructor imparte Muchos Cursos) Curso de Hibernate Framework Lección 3. Mapeo de Asociaciones Ejemplo de Relación Muchos a Muchos (Un Alumno tiene Muchos Cursos y un Curso tiene Muchos Alumnos) Curso de Hibernate Framework Lección 3. Mapeo de Asociaciones Normalización de Relación Muchos a Muchos a Relación 1 a Muchos (Uso tabla transitiva) Curso de Hibernate Framework Lección 3. Mapeo de Asociaciones Esquema Entidad-Relación del SGA (Sistema de Gestión de Alumnos) Curso de Hibernate Framework Lección 4. Ciclo de Vida en Objetos de Entidad Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx [email protected] Lección 4. Ciclo de Vida en Objetos de Entidad Lección 4. Ciclo de Vida en Objetos de Entidad Curso de Hibernate Framework Lección 4. Ciclo de Vida en Objetos de Entidad Estado Transitivo (Transient): Los objetos de entidad nuevos NO son guardados directamente en la Base de Datos (BD). No están asociados con un registro de BD. Se consideran NO transaccionales. Estado Persistente (Persistent) Un objeto persistente tiene asociado un registro en la BD. Los objetos persistentes siempre están asociados con una Sesión y son transaccionales. Su estado se sincroniza con la BD al terminar la transacción. Estado Separado (Detached) Estos objetos tienen asociado un registro de BD, pero su estado no está sincronizado con la BD Todos los objetos recuperados en una transacción se convierten en detached una vez que termina la transacción Curso de Hibernate Framework Lección 4. Ciclo de Vida en Objetos de Entidad Persistir un Objeto en Hibernate Curso de Hibernate Framework Lección 4. Ciclo de Vida en Objetos de Entidad Recuperar un Objeto Persistente en Hibernate Curso de Hibernate Framework Lección 4. Ciclo de Vida en Objetos de Entidad Modificar un Objeto Persistente en Hibernate Lección 4. Ciclo de Vida en Objetos de Entidad Modificar un Objeto Persistente con Sesión Larga Curso de Hibernate Framework Lección 4. Ciclo de Vida en Objetos de Entidad Eliminar un Objeto Persistente en Hibernate Lección 4. Ciclo de Vida en Objetos de Entidad Persisistencia en Cascada Laboratorio Crear una aplicación Web Listar el contenido de la tabla de alumnos. Crear las opciones para agregar, editar y eliminar un nuevo alumno. En las opciones de agregar y editar se debe agregar una pantalla que permita capturar los valores del alumno junto con su dirección y datos de contacto, tales como teléfono e e-mail, utilizando el concepto de persistencia en Cascada. Utilizar el proyecto de PersistenciaCascada para utilizar los objetos DAO ya creados. Arquitectura Multicapas Curso de Hibernate Framework Lección 5. Ejecución de Consultas HQL Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx [email protected] Lección 5. Ejecución de Consultas HQL Lección 5. Ejecución de Consultas HQL Hibernate Query Language ( HQL) Lenguaje de Consulta, similar a SQL pero utilizando objetos Java. Queries Parametrizables Consola de Ejecución en IDE’s como Eclipse o MyEclipse Consultas Avanzadas con recuperación de colecciones de datos Características de HQL Uso de select, from y where y subselects Sensible a Mayúsculas/Minúsculas Asociaciones, uso de joins y fetch Uso de expresiones y operadores como: +, >, between, upper, etc Uso de Funciones de agregación, tales como: avg, sum, count, etc Uso de order by, group by Curso de Hibernate Framework Lección 6. Consultas con el API de Criteria Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx [email protected] Lección 6. Consultas con el API de Criteria Lección 6. Consultas con API Criteria API Criteria (Hibernate Query API) El API de Criteria es una alternativa al uso de HQL o SQL Nativo Permite la combinación de campos de criterio complejos (ej. Una pantalla de búsqueda avanzada) Permite crear queries dinámicos complejos más fácilmente Características del API de Criteria Existe el concepto de Query by Example, el cual facilita la búsqueda de registros de cierta clase de Entidad Se utilizan clases de Java en lugar de cadenas HQL o SQL Permite utilizar expresiones, joins, ordenamiento, entre muchas características más. Curso de Hibernate Framework Lección 6. Consultas con el API de Criteria Query by Example (QBE) El lenguaje HQL aunque maneja una sintaxis muy simplificada, aplica muy bien solo para queries estáticos El lenguaje HQL es una cadena, no clases de Java, ello implica manipular la cadena para ir agregando restricciones al query QBE, en conjunto con el API de Criteria (QBC), permite tomar como ejemplo un objeto DTO y filtrar con esos datos el query a ejecutar Se utiliza para generar queries dinámicos, orientados a búsquedas avanzadas Se pueden combinar varios objetos DTO para filtrar todavía más los queries a ejecutar. Evitando agregar restricciones al QBC Curso de Hibernate Framework
© Copyright 2025