Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

INSTITUTO TECNOLOGICO DE COSTA RICA

Hibernate
Persistencia de objetos
Alexis Boza / Silvia Mata

Hibernate
Hibernate es una herramienta diseada para la plataforma Java (actualmente
tambin existe una versin para la plataforma de .Net conocida como
NHibernate) que facilita el mapeo de atributos entre una base de datos
relacional y el modelo de objetos de una aplicacin, todo esto haciendo uso de
archivos declarativos (XML) que permiten establecer las relaciones, es decir
realiza un mapeo Objeto-Relacional u ORM por sus siglas.
Hibernate ha conseguido en un tiempo record una excelente reputacin dentro
de la comunidad de desarrollo posicionndose como el producto OpenSource
numero uno en este campo gracias a sus prestaciones, buena documentacin y
estabilidad.
Por qu usar un Framework ORM?
Cuando desarrollamos aplicaciones y en fin al finalizar con el modelado de
nuestra base de datos, muy comnmente tendremos que mapear dichos datos
a objetos con los cuales podamos interactuar dentro de nuestra capa lgica,
igualmente dichos objetos luego tendremos que insertarlos, eliminarlos o
modificarlos cuando son mapeados a nuestra capa de datos, es aqu donde los
frameworks ORM como Hibernate vienen a simplificar nuestra tarea, ya que
estas tareas se ejecutan automticamente y solo tendrs que preocuparte por
las consultas especiales.
Cmo funciona Hibernate?
Arquitectura
El API de Hibernate es una arquitectura de dos capas (Capa de persistencia y
Capa de Negocio).
En la figura adjunta se muestran los roles de las interfaces Hibernate ms
importantes en las capas de persistencia y de negocio de una aplicacin J2EE
(Java 2 Platform, Enterprise Edition). La capa de negocio est situada sobre la

capa de persistencia, debido a que acta a modo de cliente con la capa de


persistencia.

Cmo logra el mapeo Objeto-Relacional?


Hibernate utiliza el archivo hibernate.cfg.xml para almacenar la informacin
sobre la base de datos que estamos manejando e incluye todos los ficheros de
mapeo. As tambin utiliza un archivo de ingeniera inversa o
hibernate.revenge.xml por medio del cual Hibernate genera los POJOS de la
aplicacin.

Hibernate asocia a cada tabla de nuestra base de datos un Plain Old Java
Object (POJO, a veces llamado Plain Ordinary Java Object). Un POJO es similar a
una Java Bean, con propiedades accesibles mediante mtodos setter y getter.

Para poder asociar el POJO a su tabla correspondiente en la base de datos,


Hibernate usa los ficheros hbm.xml. Para la clase Event se usa el fichero
Event.hbm.xml para mapearlo con la base de datos. Dentro del mismo se
declaran las propiedades del POJO y sus correspondientes nombres de columna
en la base de datos, asociacin de tipos de datos, referencias y relaciones con
otras tablas.

Para ejecutar consultas a nuestra base de datos Hibernate utiliza HQL


(Hibernate Query Language), el cual es completamente orientado a objetos y
comprende nociones como herencia, polimorfismo y asociacin. Adems tiene
la ventaja de que nos es totalmente transparente el uso de la base de datos
pudiendo cambiar de base de datos sin necesidad de cambiar una lnea de
cdigo de nuestra aplicacin, simplemente cambiando los ficheros de
configuracin de Hibernate.
Conclusiones

Nuestra lgica de negocios trabaja contra un modelo de dominio


completamente orientado a objetos, generando persistencia entre

ambos niveles.
Gracias a estas plataformas generamos menos lneas de cdigo y el tipo

de cdigo generado es mucho ms sencillo y mantenible.


Es fundamental el conocer a ciencia cierta cmo funcionan las
tecnologas que utilizamos. En el caso de Hibernate luego de hacer
algunos tutoriales, el correcto diseo y anlisis de la base de datos se
convierte en un tema que toma gran relevancia para el uso de la

plataforma.
Al tener un medio con el cual se puede generar persistencia entre los
objetos de la capa de negocio y la capa de datos, reduce
considerablemente el trabajo que se debe realizar, agilizando el

desarrollo y permitiendo la reutilizacin.


Durante la investigacin realizada no se encontr informacin relevante
en cuanto al manejo de transacciones por parte de Hibernate, al parecer

este no es el fuerte de la herramienta.


HQL facilita la compatibilidad de Hibernate con multiples motores de
Bases de Datos, permitiendo que las migraciones de aplicaciones entre
estas no se convierta en tareas arduas y extenuantes.

Referencias
JBoss.org. (n.d.). Retrieved 11 10, 2013, from JBoss.org:
http://docs.jboss.org/hibernate/core/3.5/reference/esES/html/queryhql.html

NetBeans.com. (n.d.). Retrieved 11 10, 2013, from NetBeans.com:


https://netbeans.org/kb/docs/web/hibernate-webapp.html

También podría gustarte