Conociendo una herramienta ORM: Hibernate (II)

Blog Single

Volvemos con la segunda parte de “Conociendo un ORM”, continuando el desarrollo que dejamos a medias con Hibernate. Una vez realizada la configuración, los modelos y sus mapeos correspondientes solo nos queda apoyarnos de toda la configuración para poder obtener, insertar, editar y eliminar los datos de la aplicación haciéndolos persistir en la base de datos.

Hibernate ORM

Un buen hábito de desarrollo es construir una clase HibernateUtil que se apoye en el patrón Singleton. El objetivo de emplear este patrón es el de garantizar que una clase solo tenga una instancia en la aplicación, y proporcionar un único punto de acceso global a ella, Hibernate trabaja con sesiones y genera una instancia de la base de datos para trabajar con ella, por lo tanto es lógico y un buen hábito de trabajo cuando se trabaja con éste framework de persistencia crear esta clase que proporciona un único punto de acceso a dicha instancia, evitando crear una sesión distinta desde distintos puntos de la aplicación que finalmente nos puede llevar a generación de errores y consumo innecesario de memoria.

Para ello se desarrolla la clase “HibernateUtil” en la cual declaramos un atributo “static” del tipo “SessionFactory” asegurándonos de que solo existe una instancia. Además este atributo se define como final para que no pueda ser modificado ni alterado por ningún cliente que lo referencie. Gracias al patrón Singleton obtenemos un acceso controlado de la sesión, las clases que deseen una referencia a la sesión única la obtendrán llamando al método estático getSessionFactory() de la clase:

A continuación debemos definir unas clases manejadoras que nos proporcione las operaciones CRUD básicas. Aquí podemos ver como cada función obtiene la Sesión correspondiente através de Hibernate Util, y esta sesión nos proporciona los métodos básicos para las operaciones CRUD (Crear, Obtener, Actualizar y Eliminar)(Create, Read, Update and Delete). Es importante destacar que para realizar consultas mas complejas Hibernate proporciona ciertas herramientas como los Criteria o un lenguaje especial llamado HQL. Aquí muestro las funciones básicas de los Manager:

Procedamos a ver como se emplea esta arquitectura de clases. Este ejemplo sencillo crea un nuevo objeto de la clase Cliente, estableciendo con sus métodos set los distintos atributos de este y finalmente pasándo el objeto al Manager para que se encargue de persistirlo en la base de datos:

Espero que hayáis disfrutado con estos pequeños ejemplos. Volveré a tratar el tema de los ORM con más profundidad analizando alguna otra herramienta o describiendo características más avanzadas de Hibernate. Aún así os comparto la documentación oficial de la versión 3.5.7 que viene muy bien explicado y con ejemplos

[googleplusauthor]

Nube de Tags

hibernatejavaorm
Comparte el artículo si te ha resultado interesante: