Hibernate

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:
Hibernate
Imagen 1.

 

<?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.
 hibernate
Imagen 2

 

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

 

 

 

Guardar

Guardar

Guardar

Guardar

Guardar

Guardar

Guardar

Guardar

Guardar

Guardar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *