Introdución

Sin dudas, guardar información en una base de datos es una tarea molesta, casi mecánica y repetitiva de la que un programador nunca podrá escaparse.

En el mercado Java se desarrollaron una serie de herramientas que facilitan en gran medida aquellas tareas de acceso a base de datos que a uno siempre lo persiguen.
Sin duda alguna, la más renombrada (por mucha distancia) ha sido Hibernate Framework.

¿Qué es Hibernate?
Hibernate Framework es una herramienta de Mapeo Objeto-Relacional (ORM, Object-Relational Mapping) que proporciona una facilidad asombrosa para guardar y consultar tus objetos Java sobre una base de datos cualquiera, además de proveerte un camino seguro y lleno de facilidades para que desarrolles tu capa de datos rápida, tranquila y confiadamente. Entonces... ¿quieres ahorrar tiempo y esfuerzo en arreglar errores humanos?

¿Pero como guardo o consulto un objeto en una base de datos?
Es muy simple… le dices a Hibernate donde encontrar este objeto y donde encontrar la base de datos, le dices como se lama tu objeto y como se lama la tabla de tu base de datos que lo representa, le dices cuales son los atributos de tu objeto y exactamente a que columna de la tabla representa cada uno y también su tipo de dato Java.
Y listo!! No hay más secretos…
IMPORTANTE: Utilizando el patrón DAO abstraemos toda la capa de datos de nuestra aplicación y dejamos limpia toda la lógica del negocio. Esto es fundamental a la hora de diseñar una arquitectura prolija y elegante porque es importante conseguir una aplicación que sea completamente independiente de la base de datos que se quiera usar.

Pero eso ya lo estoy haciendo hoy!… ¿Qué ventajas me da Hibernate?
Muchísimas más de las que te imaginas:
  • Creación de SQL automático: Crea el SQL automáticamente y deja libre al desarrollador de mapear el resultado del query hacia el objeto. De todas maneras hay formas sencillas de manejar tu propio código SQL.
  • Mapeos Relacionales: Puedes manejar todos los tipos de mapeos relacionales: uno a uno, uno a muchos, muchos a uno y muchos a muchos.
  • Collections: Puedes guardar o recuperar colecciones enteras (Map, Set, ArrayList) o un objeto entero que en sus atributos tenga colecciones.
  • Lenguaje de consulta HQL: Ofrece un lenguaje de consulta de datos llamado HQL (Hibernate Query Language) que sirve para hacer queries de objetos fácilmente.
  • Sistema de Cache de objetos: así podrás reutilizar objetos que ya recuperaste y te ahorrarías muchas consultas a la base de datos. Podrías ahorrar mucho tiempo por mantener los objetos en memoria!
  • Integración con Ant: para generar tu proyecto y los xml de mapeo automáticamente.
  • Integración con Spring: para gestionar Hibernate e inyectar los DAOs mediante IoC, entre otros.
  • Integración con Struts: para gestionar Hibernate en tus aplicaciones web.
  • Transacciones y Concurrencia.
  • Annotations: En lugar de describir los objetos en un xml, podrías utilizar Annotations para describirlos.
  • Y muchas otras cosas…
Sigue investigando!! ya que es una herramienta asombrosa, flexible e imprescindible si quieres ahorrar tiempo y esfuerzo en arreglar errores humanos.


Recursos para Investigar:

No hay comentarios.: