Configuración Hibernate con Gradle

Básico
Hibernate
Hibernate
Actualizado: 10/11/2024

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

Introducción

Configurar Hibernate en un proyecto Gradle implica varios pasos que aseguran que todas las dependencias necesarias estén incluidas y que la configuración de Hibernate esté correctamente establecida para interactuar con la base de datos deseada. 

¿Te está gustando esta lección?

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Configurar el archivo build.gradle

Primero, necesitas asegurarte de que tu archivo build.gradle incluya las dependencias necesarias para Hibernate, el driver JDBC para tu base de datos específica, y cualquier otra biblioteca que necesites. 

Aquí hay un ejemplo básico para un proyecto que utiliza Hibernate con una base de datos MySQL:

plugins {
    id 'java'
}

group = 'com.certidevs'
version = '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    // https://mvnrepository.com/artifact/com.mysql/mysql-connector-j
    implementation group: 'com.mysql', name: 'mysql-connector-j', version: '8.4.0'
    // https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-core
    implementation group: 'org.hibernate.orm', name: 'hibernate-core', version: '6.5.0.Final'

    testImplementation platform('org.junit:junit-bom:5.10.0')
    testImplementation 'org.junit.jupiter:junit-jupiter'
}

test {
    useJUnitPlatform()
}

Resultado:

Para verificar la carga de librerías se puede desplegar la sección “External libraries”:

Crear el archivo de configuración de Hibernate

Hibernate requiere un archivo de configuración donde se especifican diversas propiedades, como detalles de la conexión a la base de datos, la dialecto específico de SQL que se debe usar, y las entidades mapeadas. 

Este archivo usualmente se llama hibernate.cfg.xml y se ubica en el directorio src/main/resources:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">
            com.mysql.cj.jdbc.Driver
        </property>
        <property name="hibernate.connection.url">
            jdbc:mysql://localhost:3306/hibernate_clase?createDatabaseIfNotExist=true
        </property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">admin</property>
        <property name="hibernate.connection.pool_size">50</property>
        <property name="show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.use_sql_comments">true</property>
        <property name="hibernate.hbm2ddl.auto">create</property>
        <mapping class="com.certidevs.Employee" />
    </session-factory>
</hibernate-configuration>

Resultado

Escribir las clases de entidad

En el ejemplo anterior se ha creado una entidad Employee.

Las clases de entidad en Hibernate son objetos Java que representan tablas en tu base de datos. 

Estas deben ser anotadas con @Entity, @Table y otras anotaciones de JPA para definir mapeos, relaciones, etc.

package com.certidevs;

import jakarta.persistence.*;

@Entity()
public class Employee {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false)
    private Long id;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
}

Utilizar Hibernate en tu aplicación

Finalmente, puedes usar un SessionFactory para crear sesiones y realizar operaciones de base de datos:

package com.certidevs;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class Main {
    public static void main(String[] args) {
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        Session session = sessionFactory.openSession();
        session.beginTransaction();

        session.persist(new Employee());

        session.getTransaction().commit();
        session.close();
    }
}

Con estos pasos, deberías poder configurar Hibernate en tu proyecto Gradle y comenzar a trabajar con la base de datos de tu elección.

Aprendizajes de esta lección

  1. Comprender las bases y características clave de Hibernate y Gradle y cómo se complementan entre sí.
  2. Aprender a configurar y gestionar dependencias de Hibernate dentro de un proyecto Gradle.
  3. Dominar la automatización de tareas específicas relacionadas con Hibernate utilizando Gradle.
  4. Familiarizarse con plugins y extensiones relevantes para optimizar la integración.
  5. Desarrollar habilidades para resolver problemas y optimizar el flujo de trabajo en proyectos que combinen ambas herramientas.

Completa Hibernate y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración