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.
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.
Fuentes y referencias
Documentación oficial y recursos externos para profundizar en Hibernate
Documentación oficial de Hibernate
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Hibernate es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.
Más tutoriales de Hibernate
Explora más contenido relacionado con Hibernate y continúa aprendiendo con nuestros tutoriales gratuitos.
Aprendizajes de esta lección
- Comprender las bases y características clave de Hibernate y Gradle y cómo se complementan entre sí.
- Aprender a configurar y gestionar dependencias de Hibernate dentro de un proyecto Gradle.
- Dominar la automatización de tareas específicas relacionadas con Hibernate utilizando Gradle.
- Familiarizarse con plugins y extensiones relevantes para optimizar la integración.
- Desarrollar habilidades para resolver problemas y optimizar el flujo de trabajo en proyectos que combinen ambas herramientas.