Hibernate Parte I: Introducción

Hola, ¿cómo están?, espero que muy bien.

Desde hace ya un tiempo (aproximadamente 3 meses), alguien me pidió que le ayudará a desarrollar una aplicación stand-alone para una empresa y resulta que la persona que me pidió apoyo usa la tecnología de hibernate y yo no tenía una idea de qué se trataba hibernate. A lo que acepté, lo único que le pedí fue que me dijera en donde buscar información del tema a lo que -como buen Ingeniero en Sistemas- me respondió diciendo mira lee este libro (Hibernate in Action, si lo tiene original e impreso, si de esos típicos libros en inglés y de mas de 300 páginas), y pues empecé a leer el libro. Sin embargo, algo que me desagradó de ese libro es que el autor dice algo así:

Para hacer funcionar hibernate necesitas el archivo de conexión a tu base de datos (un xml) y crear tus clases; después de esto ya estás apto para tomar ventaja de la tecnología de hibernate.

A lo que, yo iba a mi computadora -ordenador-, hacía los pasos tal y como venían en el dichoso libro y adivinen……¡NO FUNCIONABA!, lo peor es que seguías en el siguiente capítulo y decía algo así:

Pero antes de hacer lo que en el capítulo anterior, es necesario que crees un archivo extra por cada clase.

Con lo que dije:

¡EH, COSAS QUE SON BASE LAS PONEN DESPUÉS DE COSAS QUE SON MÁS AVANZADAS!

Que quede claro que con estás entradas de hibernate no estoy diciendo que ese libro sea malo, simplemente que está algo desordenado y si eres alguien como yo que no tiene tiempo de leerse y comprender todo el libro (ya que además vienen cosas, que si interesantes, pero poco aplicables) para poder hacer su primer ejemplo (nótese que escribí ejemplo, no aplicación) entonces estas entradas son para ti.

Bueno, primero, ¿Qué es Hibernate?:

Hibernate es un framework muy cómodo y útil para realizar conexiones (y a su vez con esto) y consultas (altas, bajas, cambios y lecturas) a bases de datos sin la necesidad de utilizar SQL para todo (bueno, si se utiliza, pero solo para lecturas). Además de un framework que facilita la implementación del paradigma MVC. Hibernate está disponible para Java y .NET.

Ahora, si pues ayuda, pero ¿Qué lo diferencía de una conexión habitual?:

Primero que nada, hay que pensar de otra manera, ya que desde la programación orientada a objetos se han observado que el paradigma SQL y el paradigma orientado a objetos tienen conflictos, ya que un objeto es un tipo de dato, sin embargo SQL no acepta objetos como tales. Por ejemplo tienes 1 clase:
Personas que cuenta con los siguientes atributos:

  • Nombre, Cadena
  • Apellido, Cadena
  • Gustos, Preferencias

Y tienes la clase Preferencias:

  • Deporte, Cadena
  • Juego, Cadena
  • Comida, Cadena
  • Número, Flotante

Como pueden ver, si usamos un manejador de datos basado en SQL, no podemos crear el tipo de datos Preferencias, de tal modo que tendríamos que hacer 2 tablas, 1 para las personas y otra con las preferencias de cada persona, de modo que sería ocupar más disco duro y al momento de hacer consultas más incomodo, debido a que se necesitarían consultas tipo join.

Por otra parte Hibernate lo que propone es que uno pueda guardar sus objetos en la base de datos sin preocuparse por enviar cada propiedad (ya que los envíos de cada propiedad los hace Hibernate).

———————————————–

Bueno, esto es todo por hoy. Ya que ahora se conoce la finalidad de hibernate en la siguiente entrada se hablará sobre los requerimientos de hibernate.

Gracias por sus visitas y hasta luego.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s