Hibernate Gestion Objetos

Páginas: 13 (3171 palabras) Publicado: 21 de marzo de 2015
1

Hibernate
Gestión de objetos persistentes

2

Juan Ramón López Rodríguez
Este material ha sido elaborado como soporte a la docencia de la materia “Integración
de datos” del Grado en Ingeniería Informática de la Universidade da Coruña.
La base para la elaboración de este material ha sido el documento “Object/Relational
Mapping with Hibernate. Basic tutorial” de V. Souza (ver bibliografía)Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercialCompartirIgual 3.0 Unported.

3

Bibliografía
• Bauer, C.; King, G. (2005) “Hibernate in Action“- Manning Publications Co.
ISBN 1932394-15-X
• Souza, V. (2007). “Object/Relational Mapping with Hibernate. Basic
tutorial”. http://www.inf.ufes.br/~vitorsouza/wp-content/uploads/javaen-tutorial-hibernate-slides.pdf
•“Hibernate tutorial”. http://www.tutorialspoint.com/hibernate/
• “Hibernate Documentation” Jboss Community.
http://www.hibernate.org/docs

4

1. Introducción.

5

Objetos persistentes
• Hibernate: persistencia no intrusiva
▫ Objetos no saben si son persistentes
▫ Se comportan igual con persistencia o sin ella
▫ La aplicación los manipula de forma natural
• ¿Quién los hace persistentes?
▫ La aplicación.Debe usar interfaces de Hibernate para almacenar o
cargar objetos
▫ Gestor de persistencia: la clase Session de Hibernate

6

Ciclo de vida de la persistencia
• Un objeto pasa por diferentes estados a lo largo de su ciclo de vida

get()
load()
Query.list()
Query.iterate()

Garbage collector

Transitorio

new()

save()
saveOrUpdate ()

Persistente
evict()
close ()

Eliminado

Garbage collectordelete()
update()
saveOrUpdate ()
Garbage collector

Desligado

7

Estado Transitorio (Transient)
• Los objetos no son persistentes cuando se crean con el operador new
▫ Su estado no se almacena en ninguna BD
▫ Su estado se pierde (garbage collector) cuando dejan de ser
referenciados por cualquier otro objeto (o cuando se termina la
aplicación)
• Para pasar a estado persistente:
▫ Llamada algestor de persistencia (Session)
▫ Referencia desde algún otro objeto persistente

8

Estado Persistente (Persistent)
• Objeto con identidad persistente: id que es PK en la BD
• Puede ser:
▫ Nuevo objeto, vinculado al gestor de persistencia
▫ Nuevo objeto, asociado a otro objeto persistente
▫ Objeto recuperado desde la BD

• Vinculado a objeto Session, que proporciona un contexto de persistencia
▫ Enla caché de Hibernate
▫ Cambios en su estado son monitorizados y propagados a la BD (sincronización)
▫ Opción de rollback si fuese necesario (aunque sólo sobre la BD)

9

Estado Desligado (Detached)
• Si una sesión termina, los objetos asociados siguen en memoria, pero
pasan al estado desligado
• Un objeto también se pude desligar explícitamente de una sesión
• Si el objeto no fue borradoexplícitamente, su estado continúa
almacenado en la BD…
• …pero las instancias en memoria ahora hacen “vida independiente”
 Sin contexto de persistencia, cambios en su estado ya no son sincronizados con la BD.

• Es posible “recuperar” esos objetos asociándolos a una sesión posterior.
Una conversación es una secuencia de sesiones que “comparten” objetos
persistentes

10

Estado Borrado (Removed)
•Cuando un objeto ya no va a ser utilizado más
• Se eliminan todas las referencias al objeto
• Se le pide a la sesión que se deshaga de él
• La sesión se encargará, en algún momento, de eliminar su estado de la BD
(de forma permanente)

11

2. La sesión.

12

Definición
• Una sesión de Hibernate se puede ver como una conexión contra la BD,
que engloba una o varias transacciones físicas (ej.transacciones JDBC)
• Hibernate utiliza la clase Session como metáfora de la sesión para
proporcionar funcionalidades y servicios de persistencia
• Cada instancia de Session se crea a través de SessionFactory
▫ SessionFactory es una clase pesada: una instancia por aplicación y BD
▫ Session es una clase ligera: podemos crear todas las instancias que necesitemos

13

Funciones
• La clase Session...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • gestion por objetivos
  • OBJETIVOS DE LA GESTIÓN DEL TALENTO HUMANO
  • Objetivos E Indicadores De Gestión
  • Características de la gestión administrativa, conceptos y objetivos de la gestión administrativa
  • hibernate
  • Hibernate
  • hibernate
  • HIBERNATE

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS