Post on 09-Aug-2015
Este tutorial se trata del uso de Hibernate sobre la plataforma de desarrollo Java.
Se utilizaran MySQL como gestor de base de datos y Netbeans 6.9 como IDE para Java.
Como primer paso abrimos MySQL Query Browser o cualquier herramienta que nos permita crear una
base de datos:
Ingresamos los datos necesarios: usuario, contraseña, la dirección del servidor (en caso de querer
trabajar con una base de datos en un servidor MySQL remoto se escribe la dirección IP en lugar de
localhost) y el puerto del servidor MySQL.
Como estamos usando MySQL Query Browser tendríamos la siguiente pantalla:
Abrimos el Script del cual generaremos nuesta base de datos a utilizar:
Una vez abierto el Script, tenemos una base de datos sencilla que solo tiene cuatro tablas: Cliente,
Producto, DetalleVenta y NotaVenta.
Ejecutamos las directivas y así creamos la base de datos.
Aquí les dejo el código SQL del Script utilizado:
create database tutorial;
use tutorial;
CREATE TABLE Cliente(
cod CHAR(3)NOT NULL PRIMARY KEY,
nombre CHAR(25)
);
INSERT INTO Cliente VALUES ('100','grupo norte');
INSERT INTO Cliente VALUES ('101','Angel Castillo');
CREATE TABLE Producto(
cod CHAR (3)NOT NULL PRIMARY KEY,
descripcion CHAR(60),
precio float
);
INSERT INTO Producto VALUES('200','rodamiento',300);
INSERT INTO Producto VALUES('201','engranaje',450);
INSERT INTO Producto VALUES('202','rotor',560);
CREATE TABLE NotaVenta(
nro CHAR(3)NOT NULL PRIMARY KEY,
fecha DATE,
monto float,
codc CHAR(3)NOT NULL,
foreign key(codc) references Cliente(cod)
);
INSERT INTO NotaVenta VALUES('500','2009/05/10',600,'100');
INSERT INTO NotaVenta VALUES('501','2009/03/02',750,'101');
CREATE TABLE DetalleVenta (
id int primary key auto_increment,
nrov CHAR(3)NOT NULL,
codp CHAR (3)NOT NULL,
cantidad INTEGER,
precio float,
FOREIGN KEY (codp)REFERENCES Producto(cod),
FOREIGN KEY (nrov) REFERENCES NotaVenta(nro)
);
INSERT INTO DetalleVenta VALUES(1,'500','200',2,300);
INSERT INTO DetalleVenta VALUES(2,'501','200',1,300);
INSERT INTO DetalleVenta VALUES(3,'501','201',1,450);
Para empezar a crear las clases necesarias para Hibernate abrimos Netbeans y creamos un nuevo
proyecto:
Elegimos el tipo de proyecto en este caso estamos trabajando con Java así que creamos una aplicación
Java:
Creamos la aplicación y le damos el nombre en este caso “tutorial”
Listo ahora tenemos una clase lista sobre la cual implementaremos las clases necesarias para la
conexión con Hibernate:
Primero creamos un nuevo archivo en nuestro proyecto, elegimos la opción Otro:
Seleccionamos la librería Hibernate (Esta viene incluida en Netbeans desde su versión 6.8 en adelante) y
elegimos como tipo de archivo el Wizard de configuración para crear la cadena para la conexión:
Le damos un nombre y una ubicación para el archivo. En este caso dejamos lo que estaba por defecto:
Creamos una conexión con la base de datos:
Aquí elegimos el gestor de base de datos en este caso MySQL, dirección del servidor, puerto y base de
datos.
Ahora nos muestra los detalles de nuestra conexión:
Seideseáramos agregar más detalles a la conexión elegimos la opción Add que está debajo de los
detalles:
En el caso de trabajar con multiple sesiones se puede agregar un hilo o thread:
Creamos un segundo archivo igual eligiendo la opción Otro:
Ahora hacemos la ingeniería a la inversa creando un Wizard para Ingeniera a la Inversa. Esto es para
traer las tablas de la base de datos a la plataforma de desarrollo:
Asignamos un nombre y ubicación. Una vez más dejamos las que estaban por defecto:
Una vez conectados con la base de datos deberán aparecer todas nuestras tablas y seleccionaremos las
que deseamos usar. En este caso le damos click al botón Add All:
Se crea una clase de tipo XML que nos da las tablas en formato XML. No es necesario alterar estos datos
si es que no se tiene gran conocimiento sobre HTML o XML
Creamos un tercer archivo dentro de la carpeta creada para Hibernate en este caso tiene el nombre de
default package:
Ahora creamos el archivo de tipo Mapping para el realizar el mapeo de las tablas desde el gestor:
Una vez más elegimos el nombre y la ubicación pero en este caso también le damos un nombre al
paquete. Se llamara “datos”:
Podemos ver los archivos que se crearon para cada tabla. Se crea tanto un archivo XML como uno Java:
Dentro del archivo .xml se puede ver que cada tabla con sus atributos tomaron el formato XML:
En el caso del archivo .java podemos ver que cada atributo de la tabla es un objeto y a modo de
reemplazar las directivas SQL como ser SELECT, INSERT, etc. Se puede ver que se crearon métodos del
tipo GET y SET:
Nos falta un último archivo también de tipo Otro:
Creamos un archivo del tipo HibernateUtil, esta actúa como la clásica clase conexión:
Le damos un nombre al archivo y un nombre al paquete. En este caso el paquete tiene el nombre de
“util”:
Esta clase se encarga de crear la sesión necesaria para la conexión con la base de datos:
Con esto estamos listos para aplicar Hibernate. Para ver un ejemplo de cómo se utiliza Hibernate se
puede consultar el video adjunto.