Curso de Hibernate – parte I

Hola! después de un tiempo sin escribir ningún articulo para el blog, iniciamos una serie de entradas las cuales formaran un mini curso de Hibernate. Comenzaremos viendo que es hibernate, como configurarlo en un proyecto Java y cómo usarlo, incluyendo las distintas relaciones entre tablas.

¿QUÉ ES HIBERNATE?

Según la definición de la wikipedia, Hibernate es una herramienta de mapeo objeto-relacional (ORM) para la plataforma Java (y disponible también para .Net con el nombre de NHibernate) que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones en los beans de las entidades que permiten establecer estas relaciones. Hibernate es software libre, distribuido bajo los términos de la licencia GNU LGPL.2​

Esta definición tan chula nos viene a decir que Hibernate nos permite mapear, es decir, establecer una relación entre las tablas de nuestra base de datos y nuestro código Java, representando cada una de nuestras clases Java a una tabla de la base de datos.

Para este curso de hibernate, vamos a instalar las siguientes herramientas:

IntelliJ CE: https://www.jetbrains.com/es-es/idea/download/#section=windows

PostgreSQL: https://www.postgresql.org/download/

JDK 16: https://www.oracle.com/java/technologies/javase/jdk16-archive-downloads.html

 

CREANDO EL PROYECTO DEL CURSO

Nos dirigimos a IntelliJ CE y pulsamos sobre «New Project», nos abrirá una ventana como esta:

 

Debemos asegurarnos que tenemos seleccionada la versión 16 de Java en el desplegable Project SDK, pulsamos en Next, y en la siguiente ventana marcamos la opción «Create project from template» y pulsamos en Next. Damos un nombre a nuestro proyecto, por ejemplo: CursoHibernate, seleccionamos la carpeta de destino y pulsamos en Finish.

AGREGANDO LA CONFIGURACION DE HIBERNATE

Para tener Hibernate configurado y disponible en nuestro proyecto debemos hacer una serie de pasos, los cuales describo a continuación:

PASO 1

En nuestro archivo pom.xml, debemos agregar la dependencia de Hibernate, por lo que entre las etiquetas <dependencies></dependencies> vamos a agregar lo siguiente:

<dependencies>
    <!--Dependencia Hibernate - version estable-->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.5.7.Final</version>
    </dependency>

    <!--Dependencia de Postgress-->
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.2.19</version>
    </dependency>
</dependencies>

 

Ahora debemos, descargar estas dependencias para tenerlas disponibles en nuestro proyecto, para ello hacemos click derecho sobre el nombre del proyecto y seleccionamos Maven -> Download Sources y Listo!!

PASO 2

Sin embargo aun no hemos terminado, debemos añadir a nuestro proyecto un archivo más de configuración de Hibernate, por lo que hacemos click derecho sobre la carpeta resources (esta carpeta está dentro de src -> main) y pulsamos sobre New -> File y en la ventana que se nos abre ponemos el siguiente nombre: hibernate.cfg.xml. Respeta este nombre tal cual está, si no no te funcionará.

PASO 3

Dentro de este nuevo archivo creado añadiremos lo siguiente:

<?xml version='1.0' encoding='utf-8'?>
<!--
  ~ Hibernate, Relational Persistence for Idiomatic Java
  ~
  ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
  ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
  -->
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- Database connection settings -->
        <property name="connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.url">jdbc:postgresql://localhost:5432/hibernate</property>
        <property name="connection.username">usuario</property>
        <property name="connection.password">contraseña</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.PostgreSQL95Dialect</property>
        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>
        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">update</property>
    </session-factory>
</hibernate-configuration>

PASO 4

Ahora le toca el turno a nuestra base de datos, si recuerdas un poco más arriba, te puse el enlace a la base de datos de PostgreSQL, me imagino que ya la tendrás instalada, por lo que lo único que nos falta es crear la base de datos con la que trabajaremos durante el curso, para ello hacemos click derecho sobre Databases -> Create -> Database y le damos el nombre de hibernate, tal y como se muestra en la siguiente imagen.

Y eso es todo! ya tenemos nuestro proyecto listo y preparado para empezar a programar y sacar todo el potencial de Hibernate!

Si te ha gustado este artículo comparte!!

Jesús Jiménez

  • Share:

Deja un comentario

Your email address will not be published.

    Enviar un mensaje




    Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

    ACEPTAR
    Aviso de cookies
    Call Now Button