Hibernate 4, es una biblioteca que permite realizar el proceso de “Mapeo Objeto-relacional” (ORM, por sus siglas en inglés), facilita el mapeo de atributos entre una base de datos relacional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones en las clases de las entidades que permiten establecer estas relaciones. Por lo tanto Hibernate realizar la transición de una representación de los datos de un modelo relacional a un modelo orientado a objetos y viceversa.
La presente tiene el objetivo de mostrar, mediante una ejemplo sencillo, las grandes potencialidades del Framework Hibernate, que se ha convertido en un componente importante en el desarrollo de sistemas informáticos empresariales con Java.
- Creando una base de datos MySQL
Asumiendo que el motor MySQL está instalado procedemos a la creación de una base de datos llamada “heyma” usando el comando: create database heyma;
Confirmando la operación deberíamos ver la base de datos ejecutando: show databases;
- Crear un proyecto en Netbeans IDE 7.2
Realice la instalación del IDE Netbeans 7.2 [1], y cree un proyecto de Aplicación Java [2], con el nombre: “jcode-hibernate”.
- Descargar e instalar Hibernate 4 ORM
El sitio oficial de Hibernate es: http://www.hibernate.org . Donde encontraremos un enlace al sitio de descargas.
Una vez allí ingresamos al enlace de: release bundles.
Esto nos llevará al sitio de Source Forge donde obtendremos gratis, una copia de Hibernate 4 ORM.
Seleccionamos el paquete: hibernate-release-4.1.7.Final.zip, (48.7 MB) y descomprimimos el mismo en una ubicación adecuada para nuestras librerías.
Agregamos a nuestro proyecto una nueva biblioteca y la nombramos: Hibernate 4.1.7, luego le incluimos todos los jars del directorio: lib/required de Hibernate 4 ORM.
Con esto está instalado Hibernate 4 en nuestro proyecto y listo para ser usado.
- Crear una clase Entidad
Primero vamos a crear un paquete: model y luego una clase de entidad: Employee.
A continuación les colocamos el código fuente de la clase: Employee.java
Luego Netbeans nos ayudará a crear un archivo de configuración para Hibernate. Esta opción ejecutaremos sobre el paquete: jcode.hibernate. Luego: New > Other…
Luego seleccionamos: (Categories) Hibernate > (File Types) Hibernate Configuration Wizard.
Luego de darle en: Next >. Establecemos el nombre y el directorio de ubicación.
Luego en el siguiente paso debemos establecer una conexión a la base de datos.
Seguidamente presionamos: Next >.
Luego de finalizar el archivo XML debe quedar como sigue. Sera necesario aumentar unas líneas extra, como podrá ver en el archivo que le mostramos a continuación: hibernate.cfg.xml
- Ejecutar tareas de persistencia
Ahora necesitamos una clase con un método estático que construye el Objeto SessionFactory de Hibernate basado en la configuración de la conexión a la base de datos. Para resolver este problema a continuación colocamos la clase PersonFactory.java
Ahora tan solo queda probar. Para ello utilizaremos la clase: JcodeHibernate.java, que tiene un método main()
Luego de ejecutar la aplicación la consola (Output) debe mostrar lo siguiente:
Verificando la base de datos.
Conclusiones
En el presente artículo vimos que con Hibernate fue muy simple hacer la manipulación de los datos de una base de datos relacional sin escribir una sola línea de SQL. En aplicaciones de tamaño mediano a grande esto nos ahorrará mucho tiempo (que normalmente usaríamos en escribir el SQL para las consultas, pasar los parámetros adecuados, recuperar los resultado de un ResultSet, entre otras cosas) para mejorar otros aspectos de la aplicación, como la interfaz gráfica, la lógica del negocio, o realizar más pruebas. Otro punto importante es que nuestro código es más simple y por lo tanto fácil de mantener.
Espero les haya resultado de utilidad y esperamos sus comentarios.
Referencias:
Excelente aporte! Muchas gracias. Explicación clara y sin desviarse del objetivo.
ResponderEliminarPara quienes como yo, están utilizando Hebernate 4.3.x, habría que cambiar unas líneas en la clase "PersonFactory" ya que de lo contrario tendríamos métodos deprecated.
El código completo para esta clase sería:
package jcode.hibernate;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
/**
*
* @author John
*/
public class PersonFactory {
private static ServiceRegistry serviceRegistry;
private static final SessionFactory sessionFactory;
static {
try {
Configuration configuration = new Configuration();
configuration.configure("jcode/hibernate/hibernate.cfg.xml");
serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
} catch (Throwable ex) {
System.err.println("Failed to create sessionFactory object." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
Saludos para todos.
RaGa