HIBERNATE
PERSISTENCIA DE DATOS
TEMARIO
INTRODUCCIÓN
CONFIGURACIÓN
MAPEO DE CLASES PERSISTENTES
HERENCIA Y TIPOS PROPIOS
MAPEO DE COLECCIONES
MAPEO AVANZADO
OBJETOS
CONCURRENCIA Y TRANSACCIONES
IMPLEMENTACIÓN DE CONVERSACIONES
PERSISTENCIA DE DATOS
• Almacenamiento de la información después
de finalizar un programa
• La información se necesita preservarpara
su posterior uso
• La mayoría de sistemas se basa en bases
de datos relacionales
• Mapeo entre base de datos y objetos de
aplicación
JDBC
• API
que
permite
la
ejecución
de
operaciones sobre bases de datos
• Independiente del sistema operativo y de
la base de datos
• Utiliza el dialecto SQL del modelo de base
de datos que se utilice
Conexion JDBC
La
manera
tradicionalde
acceder seria a
través de JDBC
directamente
conectado a la
BBDD
mediante
ejecuciones
de
sentencias SQL
DESVENTAJA
Esta primera aproximación puede ser útil para
proyectos o arquitecturas sin casi clases de
negocio, ya que el mantenimiento del código
esta altamente ligado a los cambios en el
modelo de datos relacional de la BBDD, un
mínimo cambio implica la revisión de casitodo
el código así como su compilación y nueva
instalación en el cliente.
MODELO DAO
• Una aproximación mas
avanzada
seria
la
creación
de
unas
clases de acceso a
datos (DAO Data Acces
Object).
DESVENTAJA
Los problemas de esta implementación
siguen siendo el mantenimiento de la
misma así como su portabilidad. Lo único
que podemos decir es que tenemos el
código detransacciones encapsulado en
las clases DAO.
PROBLEMAS GENERALES
• Mapeo de objetos a base de
datos relacional y viceversa
• Asociaciones,
herencia,
polimorfismo
LO DESEADO
Lo que parece claro es que
debemos separar el código de
nuestras clases de negocio de la
realización de nuestras sentencias
SQL contra la BBDD
ORM
OBJECT-RELATIONAL MAPPING
ORM
• Mapeo objeto-relacional(object-relational
mapping, o/rm, orm o o/r mapping).
• Técnica de programación para convertir
datos entre un lenguaje de programación
oo y utilizado en una bbdd relacional.
• Utiliza un motor de persistencia. En la
práctica crea una base de datos virtual
orientada a objetos, sobre la base de datos
relacional.
OBJETIVOS DE UN ORM
• Garantizar
objetos
la
persistencia
– ConexionesJDBC + consultas SQL
• Eliminar problemas
– Objetos con muchas propiedades
– Claves foráneas
– Restricciones de integridad
de
QUE OFRECE UN ORM
• Definir el mapeo en un único
punto
• Persistencia directa de objetos
• Carga automática de objetos
• Buen lenguaje de consultas (HQL)
HIBERNATE
HIBERNATE
• Es una capa de persistencia
objeto-relacional y generador desentencias SQL
QUE OFRECE HIBERNATE
• Facilita el mapeo entre bd
relacional y modelo de objetos.
• Funciona
mediante
archivos
declarativos (XML) y anotaciones
• Lenguaje de consulta de datos
HQL (hibernate query languaje).
¿PORQUE HIBERNATE?
• Es opensource
• Buena
documentación
y
estabilidad
• Utiliza clases de forma directa
• No depende de ningún manejador
de base de datosARQUITECTURA
• Hibernate
se
integra en cualquier
tipo de aplicación
justo por encima del
contenedor
de
datos.
CONFIGURACION
• La configuración de hibernarte se puede realizar
mediante 2 archivos:
– Hibernate.properties
– Hibernate.cfg.xml
• El mapeo entre las tablas de BBDD y las clases
son mediante archivos hbm.xml
• LA integración con la infraestructura java es con
datasources,jndi, jta
Hibernate.cfg.xml
org.hsqldb.jdbcDriver
jdbc:hsqldb:hsql://localhost
sa
update
MAPEO DE CLASE
ARCHIVO HBM.XML
MAPEO DE CLASE
ARCHIVO HBM.XML
DECLARACION DE LA DTD
EL DOCUMENTO DTD QUE SE USA EN LOS FICHEROS XML VIENE
EN LA DISTRIBUCION DE
HIBERNATE EN EL ARCHIVO JAR. EL
ELEMENTO RAIZ ES , EN EL SE
DECLARAN
LOS...
Regístrate para leer el documento completo.