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.

Hibernatees 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

Utilizarel 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


Lasasociaciones 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