En esta parte necesito aclarar algo muy importante , en la Parte I y Parte II vimos como configurar el «PLUGIN» de Hibernate para Eclipse Helios.
Lo que significa que si piensas que con el plugin instalado ya puedes ponerte a programar , lamento decirte que aún no.
Bueno los últimos pasos de configuración son:
1.-
Debemos bajar la ultima distro de Hibernate la puedes conseguir aquí.
2.- Ahora debemos preparar el distro para ser agregado a eclipse.
Nos creamos una carpeta llamada Hibernate aparte la idea es que en esa carpeta vallamos copiando las librerias que necesitamos.
Debemos de descomprimir el zip que hemos descargado y adentro de ella veremos todo el distro de hibernate de ahi copiaremos el archivo hibernate3.jar .
También debemos entrar a lib->Required y seleccionar todos los archivos y los copiamos a nuestra carpeta hibernate.
Por ultimo debemos meternos a lib>jpa y copiar los archivos y también pegarlos en nuestra carpeta hibernate
Con esto debemos tener la carpeta con estos archivos.
Por alguna extraña razon que desconozco en lo personal si agregamos estas librerias deberia funcionar sin problemas hibernate pero no es asi.
Falta agregar una libreria extra que la podemos encontrar en slf4j.org
descarga la ultima version que es la 1.6.1 de aquí
Ahora bien, descomprimimos el zip de slf4j y buscamos el jar llamado slf4-simple-1.6.1.jar y lo copiamos a nuestra carpeta de hibernate.
Ahora si ya tenemos todo listo! Abrimos nuestro eclipse y le damos boton derecho del mouse a nuestro proyecto y nos dirigimos a Build Path –> Add Libreries
Nos va aparecer una ventana como esta:
Seleccionamos User Library ahora le damos en siguiente y nos llevara a la siguiente ventana donde presionaremos el boton User Library y le damos en el Boton New y nos pedirá el nombre de la librería personalizada que queremos agregar bueno aquí yo le puse HibernateLib pero puedes nombrarla como quieras.
Ahora solo le damos en Add JARs y seleccionamos todos los jars de nuestra carpeta hibernate que contiene todas las librerías que vamos a ocupar.
nos quedaría algo asi:
Le damos en OK y listo si todo salió bien ya podremos trabajar con Hibernate.
Como ya sabrán hibernate trabaja por sesiones para no manejar tecnicismos simplemente crea una instancia a la base de datos para que podamos trabajar en ella , un error muy común es que por cada clase iniciamos una sesión esto en muchos casos puede generar errores y consumo incensario de memoria . Lo recomendable es crear una única instancia que se utilice para toda nuestra aplicación , para lograr esto necesitamos crear un singleton.
Para los que no saben que es un singleton dejo aquí un articulo que puede aclarar la duda.
Creamos una clase llamada SessionFactoryUtil.java en el paquete modelos de nuestro proyecto de ejemplo y escribimos el siguiente codigo:
package modelos;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class SessionFactoryUtil {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from standard (hibernate.cfg.xml)
// config file.
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
Con esta clase nosotros podemos obtener la sesión actual de cualquier parte de nuestra aplicación!
Ahora en el default package nos creamos una clase llamada Main.Java de aquí correremos nuestro proyecto aquí dejo el código:
import modelos.SessionFactoryUtil;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SessionFactory sesion= SessionFactoryUtil.getSessionFactory();
}
}
Con una sola línea de código podemos obtener la sesión creada por el singleton este es el mismo mecanismo para nuestras n clases en las que deseemos realizar operaciones con nuestra base de datos.
Corremos nuestro proyecto desde el Main.java y si todo sale bien no nos marcara ningún error.
Con esto sabemos que nuestro esta listo para desarrollar nuestras aplicaciones con Hibernate!.
Adjunto el proyecto completo en mi SkyDrive es llamado HibernateExample.rar
Espero esto sea de utilidad para quien quiera trabajar con hibernate y eclipse Helios!
Saludos!.