Autor: Annier Puig Madrazo / annier.puig@cfg.jovenclub.cu
Java es uno de los lenguajes de programación más usados en el mundo en distintos tipos de proyectos. En estos cuando se hace necesaria la persistencia de datos en las diversas bases de datos (BD) existente se hace uso de diversos frameworks, como son: Hibernate, iBatis y JPA. Estos frameworks facilitan la interacción de la capa de negocio con la de datos. Es por ellos que son muy utilizados e importantes en esta función. El primero, como uno de los más populares, tiene sus configuraciones básicas iniciales para su correcto funcionamiento.
La comunicación de este framework con la BD es a partir de consultas HQL (Hibernate Query Languaje), las cuales se les hacen a las clases del dominio, debido a la existencia de un fichero que permite conocer previamente a que tabla de la BD pertenece cada clase, no obstante se pueden realizar consultas SQL con la utilización de métodos previstos con este fin Las configuraciones iniciales se les explicará a continuación.
Para lograr el funcionamiento del frameworks hibernate se deben seguir los siguientes pasos.
- Primeramente se debe tener plug-ins del mismo nombre (si no se encuentra ya instalados) se procede a su instalación, siguiendo el siguiente camino:
Herramientas/Complementos/Plugins disponibles y ahí se selecciona Hibernate y se instala.
- Se crea un proyecto nuevo.
- Una vez creado el proyecto nuevo se selecciona y se crea un nuevo fichero de conexión hibernate.cfg.xml
En este fichero se establecen un conjunto de parámetros necesarios para la comunicación con la BD.
<?xml version=»1.0″ encoding=»UTF-8″?><!DOCTYPE hibernate-configuration PUBLIC «-//Hibernate/Hibernate Configuration DTD 3.0//EN» «http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd»><hibernate-configuration> <session-factory>
I. <property name=»hibernate.dialect»>org.hibernate.dialect.MySQLDialect</property>
II. <property name=»hibernate.connection.driver_class»>com.mysql.jdbc.Driver</property>
III. <property name=»hibernate.connection.url»>jdbc:mysql://localhost:3306/Prueba</property>
IV. <property name=»hibernate.connection.username»>prueba</property>
V. <property name=»hibernate.connection.password»>######</property> <property name=»hibernate.current_session_context_class»>thread</property> <property name=»hibernate.show_sql»>true</property> </session-factory></hibernate-configuration>
-
- Tipo de BD que se utilizará
- Driver que manejará la conexión con la BD
- Dirección y nombre de la BD
- Usuario con el cual se conectará a la BD
- Contraseña del usuario
- Posteriormente se crea el archivo de ingeniería inversa. Este fichero va a permitir crear las clases del dominio y los archivos de mapeos .hbm.xml que es la relación que existen entre las clases del dominio y las tablas de la BD, desde una BD previamente creada.
- Para esto se crea un nuevo fichero xml, el cual da la posibilidad de agregar todas las tablas de la BD previamente configurada en el fichero de conexión previamente creado o simplemente seleccionar las que se desee, (Imagen 1). El fichero revegen.xml quedaría de la siguiente forma:
<?xml version=»1.0″ encoding=»UTF-8″?><!DOCTYPE hibernate-reverse-engineering PUBLIC «-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN» «http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd»><hibernate-reverse-engineering> <schema-selection match-catalog=»sakila»/> <table-filter match-name=»film»/> <table-filter match-name=»language»/> <table-filter match-name=»category»/> <table-filter match-name=»actor»/> <table-filter match-name=»film_category»/> <table-filter match-name=»film_actor»/></hibernate-reverse-engineering>
- Posteriormente se continua con la creación de los archivos de mapas xml y las clases del dominio.
Crear nuevo Archivo de mapas y Pojos de la base de datos, (Imagen 2).
Una vez creados debe existir un fichero .java y uno .hbm por cada tabla seleccionada para realizarle la ingeniería inversa.
- Una vez creados estos se procede con la creación de un fichero importante llamado HibernateUtil.java el cual posee un conjunto de métodos por defecto necesarios para la iniciar, cerrar, etc la comunicación con la BD.
- Luego se procede con la creación de las clases de acceso a datos DAO (Data Access Object ), en las cuales se implementarán los métodos necesarios para realizar las operaciones pertinentes con la BD.
Conclusión
Luego de una correcta configuración de los ficheros de este framework se puede realizar cualquier tipo de consulta a la base de datos. Este frameworks brinda la posibilidad de la ingeniería inversa, donde a partir de una BD previamente creada se pueden obtener todas las clases del dominio, facilitando así la creación de las mismas.
Palabras claves: Ingeniería inversa
Key words: Hibernate, Reverse Engineering. Plugins
Referencias Bibliográficas
Hibernate User Guide. [en línea] Recuperado el 13 de marzo de 2017 desde https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html