Hibernate: Introducción y entorno

Hibernate: introducción y entorno. Aprende a configurar y utilizar Hibernate en tus proyectos de desarrollo con esta guía detallada.

Hibernate es un framework que permite a los desarrolladores de Java interactuar con bases de datos de manera más sencilla y eficiente. Utiliza el concepto de mapeo objeto-relacional (ORM) para convertir datos entre el sistema de tipos de objetos de Java y el sistema de tipos de bases de datos relacionales.

Instalación y configuración

Para empezar a trabajar con Hibernate, es necesario configurar el entorno de desarrollo. A continuación se detallan los pasos para instalar y configurar Hibernate en un proyecto Java.

Dependencias

En primer lugar, es necesario añadir las dependencias de Hibernate en el archivo de configuración del proyecto. Si se utiliza Maven, las dependencias se añaden en el archivo pom.xml:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>6.2.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>6.2.0.Final</version>
</dependency>

Configuración de Hibernate

Hibernate requiere un archivo de configuración para establecer la conexión con la base de datos y otras propiedades. Este archivo, generalmente llamado hibernate.cfg.xml, debe ubicarse en el directorio de recursos del proyecto. A continuación se muestra un ejemplo básico de configuración:

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mi_base_de_datos</property>
<property name="hibernate.connection.username">usuario</property>
<property name="hibernate.connection.password">contraseña</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
</session-factory>
</hibernate-configuration>

Creación de una clase de entidad

Una de las características principales de Hibernate es la capacidad de mapear clases de Java a tablas de bases de datos. A continuación se muestra un ejemplo de una clase de entidad simple:

import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import jakarta.persistence.Id;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;

@Entity
@Table(name = "usuarios")
public class Usuario {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String nombre;
private String email;

// Getters y setters
public Long getId() {
return id;
}

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

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}
}

Creación de una sesión de Hibernate

Para interactuar con la base de datos, Hibernate utiliza el concepto de sesión. La sesión se crea a partir de la SessionFactory configurada previamente. A continuación se muestra un ejemplo de cómo obtener una sesión y realizar una operación básica:

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();

Usuario nuevoUsuario = new Usuario();
nuevoUsuario.setNombre("Juan Pérez");
nuevoUsuario.setEmail("juan.perez@example.com");

session.save(nuevoUsuario);
session.getTransaction().commit();

session.close();
sessionFactory.close();
}
}
Certifícate en Hibernate con CertiDevs PLUS

Lecciones de este módulo de Hibernate

Lecciones de programación del módulo Introducción y entorno del curso de Hibernate.

Ejercicios de programación en este módulo de Hibernate

Evalúa tus conocimientos en Introducción y entorno con ejercicios de programación Introducción y entorno de tipo Test, Puzzle, Código y Proyecto con VSCode.