hb
-
Upload
david-soto -
Category
Documents
-
view
15 -
download
0
Transcript of hb
-
Ing. Ubaldo Acosta Soto
www.globalmentoring.com.mx [email protected]
Curso de Hibernate Framework
-
Ing. Ubaldo Acosta Soto
www.globalmentoring.com.mx [email protected]
Leccin 1. Introduccin a Hibernate
-
Leccin 1. Introduccin a Hibernate
Curso de Hibernate Framework
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.
Leccin 1. Introduccin a Hibernate
-
Concepto de ORM (Object Relational Mapping)
Curso de Hibernate Framework
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.
Leccin 1. Introduccin a Hibernate
-
Curso de Hibernate Framework
Arquitectura Multicapas
Leccin 1. Introduccin a Hibernate
-
Ing. Ubaldo Acosta Soto
www.globalmentoring.com.mx [email protected]
Leccin 2. Configuracin de Hibernate
-
Aplicacin Web (PersonasWeb)
Curso de Hibernate Framework
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:
Leccin 2. Configuracin de Hibernate
-
Curso de Hibernate Framework
Arquitectura Aplicacin PersonasWeb
Leccin 1. Introduccin a Hibernate
-
Ing. Ubaldo Acosta Soto
www.globalmentoring.com.mx [email protected]
Leccin 3. Mapeo de Asociaciones
-
Leccin 3. Mapeo de Asociaciones
Curso de Hibernate Framework
Las asociaciones en Hibernate son las mismas que se
manejan en la teora de bases de datos relacionales
1 a 1
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.
Leccin 3. Mapeo de Asociaciones
-
Curso de Hibernate Framework
Ejemplo de Relacin 1 a 1
(Un Alumno tiene Un Domicilio)
Leccin 3. Mapeo de Asociaciones
-
Curso de Hibernate Framework
Ejemplo de Relacin 1 a Muchos
(Un Instructor imparte Muchos Cursos)
Leccin 3. Mapeo de Asociaciones
-
Curso de Hibernate Framework
Ejemplo de Relacin Muchos a Muchos
(Un Alumno tiene Muchos Cursos y un Curso tiene
Muchos Alumnos)
Leccin 3. Mapeo de Asociaciones
-
Curso de Hibernate Framework
Normalizacin de Relacin Muchos a Muchos
a Relacin 1 a Muchos (Uso tabla transitiva)
Leccin 3. Mapeo de Asociaciones
-
Curso de Hibernate Framework
Esquema Entidad-Relacin del SGA (Sistema de Gestin de Alumnos)
Leccin 3. Mapeo de Asociaciones
-
Ing. Ubaldo Acosta Soto
www.globalmentoring.com.mx [email protected]
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
-
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
-
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.
-
Curso de Hibernate Framework
Arquitectura Multicapas
-
Ing. Ubaldo Acosta Soto
www.globalmentoring.com.mx [email protected]
Leccin 5. Ejecucin de Consultas HQL
-
Leccin 5. Ejecucin de Consultas HQL
Curso de Hibernate Framework
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
-
Ing. Ubaldo Acosta Soto
www.globalmentoring.com.mx [email protected]
Leccin 6. Consultas con el API de Criteria
-
Leccin 6. Consultas con API Criteria
Curso de Hibernate Framework
Leccin 6. Consultas con el API de 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.
-
Query by Example (QBE)
Curso de Hibernate Framework
Leccin 6. Consultas con el API de Criteria
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