Está en la página 1de 31

Curso de Hibernate Framework

Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx uacosta@globalmentoring.com.mx

Leccin 1. Introduccin a Hibernate


Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx uacosta@globalmentoring.com.mx

Leccin 1. Introduccin a Hibernate

Leccin 1. Introduccin a Hibernate


Un

framework es un conjunto de clases que nos permiten resolver un problema en especfico.


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 aplicacin Java. Hibernate es utilizado en proyectos muy diversos, como pueden ser en Instituciones Bancarias, Aseguradoras, Instituciones Educativas y de Gobierno, entre mucho giros ms.
Curso de Hibernate Framework

Leccin 1. Introduccin a Hibernate

Concepto de ORM (Object Relational Mapping)

Persistencia: Al persistir informacin podremos acceder a la misma, incluso posterior a que el proceso o la aplicacin termine de ejecutarse. Bases de Datos Relacionales: Una base de datos relacional nos permite guardar la informacin 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 tcnica en lenguajes Orientados a Objetos para mapear objetos de Entidad en tablas de una Base de Datos relacional.
Curso de Hibernate Framework

Leccin 1. Introduccin a Hibernate

Arquitectura Multicapas

Curso de Hibernate Framework

Leccin 2. Configuracin de Hibernate


Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx uacosta@globalmentoring.com.mx

Leccin 2. Configuracin de Hibernate

Aplicacin Web (PersonasWeb)


Crear

una aplicacin Web utilizando JSPs y Servlets

Utilizar

el patrn de diseo MVC para la capa de presentacin


Reutilizar

el cdigo creado de la capa de datos para administrar el catlogo de la tabla de personas


La

aplicacin 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 segn la figura siguiente:
Curso de Hibernate Framework

Leccin 1. Introduccin a Hibernate

Arquitectura Aplicacin PersonasWeb

Curso de Hibernate Framework

Leccin 3. Mapeo de Asociaciones


Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx uacosta@globalmentoring.com.mx

Leccin 3. Mapeo de Asociaciones

Leccin 3. Mapeo de Asociaciones


Las

asociaciones en Hibernate son las mismas que se manejan en la teora 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

Leccin 3. Mapeo de Asociaciones

Ejemplo de Relacin 1 a 1 (Un Alumno tiene Un Domicilio)

Curso de Hibernate Framework

Leccin 3. Mapeo de Asociaciones

Ejemplo de Relacin 1 a Muchos (Un Instructor imparte Muchos Cursos)

Curso de Hibernate Framework

Leccin 3. Mapeo de Asociaciones

Ejemplo de Relacin Muchos a Muchos (Un Alumno tiene Muchos Cursos y un Curso tiene Muchos Alumnos)

Curso de Hibernate Framework

Leccin 3. Mapeo de Asociaciones

Normalizacin de Relacin Muchos a Muchos a Relacin 1 a Muchos (Uso tabla transitiva)

Curso de Hibernate Framework

Leccin 3. Mapeo de Asociaciones

Esquema Entidad-Relacin del SGA


(Sistema de Gestin de Alumnos)

Curso de Hibernate Framework

Leccin 4. Ciclo de Vida en Objetos de Entidad


Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx uacosta@globalmentoring.com.mx

Leccin 4. Ciclo de Vida en Objetos de Entidad

Leccin 4. Ciclo de Vida en Objetos de Entidad

Curso de Hibernate Framework

Leccin 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 estn 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 estn asociados con una Sesin y son transaccionales. Su estado se sincroniza con la BD al terminar la

transaccin.

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 transaccin se convierten en detached una vez que termina la transaccin Curso de Hibernate Framework

Leccin 4. Ciclo de Vida en Objetos de Entidad

Persistir un Objeto en Hibernate

Curso de Hibernate Framework

Leccin 4. Ciclo de Vida en Objetos de Entidad

Recuperar un Objeto Persistente en Hibernate

Curso de Hibernate Framework

Leccin 4. Ciclo de Vida en Objetos de Entidad

Modificar un Objeto Persistente en Hibernate

Leccin 4. Ciclo de Vida en Objetos de Entidad

Modificar un Objeto Persistente con Sesin Larga

Curso de Hibernate Framework

Leccin 4. Ciclo de Vida en Objetos de Entidad

Eliminar un Objeto Persistente en Hibernate

Leccin 4. Ciclo de Vida en Objetos de Entidad

Persisistencia en Cascada

Laboratorio
Crear una aplicacin 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 direccin y datos de contacto, tales como telfono 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

Leccin 5. Ejecucin de Consultas HQL


Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx uacosta@globalmentoring.com.mx

Leccin 5. Ejecucin de Consultas HQL

Leccin 5. Ejecucin de Consultas HQL


Hibernate Query Language ( HQL)

Lenguaje de Consulta, similar a SQL pero utilizando objetos Java. Queries Parametrizables Consola de Ejecucin en IDEs como Eclipse o MyEclipse Consultas Avanzadas con recuperacin de colecciones de datos

Caractersticas de HQL

Uso de select, from y where y subselects Sensible a Maysculas/Minsculas Asociaciones, uso de joins y fetch Uso de expresiones y operadores como: +, >, between, upper, etc Uso de Funciones de agregacin, tales como: avg, sum, count, etc

Uso de order by, group by

Curso de Hibernate Framework

Leccin 6. Consultas con el API de Criteria


Ing. Ubaldo Acosta Soto www.globalmentoring.com.mx uacosta@globalmentoring.com.mx

Leccin 6. Consultas con el API de Criteria

Leccin 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 combinacin de campos de criterio complejos (ej. Una pantalla de bsqueda avanzada)

Permite crear queries dinmicos complejos ms fcilmente

Caractersticas del API de Criteria

Existe el concepto de Query by Example, el cual facilita la bsqueda

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

caractersticas ms.
Curso de Hibernate Framework

Leccin 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 estticos

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 dinmicos, orientados a bsquedas avanzadas

Se pueden combinar varios objetos DTO para filtrar todava ms los queries a ejecutar. Evitando agregar restricciones al QBC

Curso de Hibernate Framework

También podría gustarte