Prevención de recursión infinita en el método toString al usar Lombok y JPA
Al desarrollar aplicaciones con Spring Boot y JPA, es habitual definir relaciones bidireccionales entre entidades (como One-to-Many o Many-to-Many). Un problema recurrente surge cuando se utiliza la anotación @Data de Lombok. Esta anotación genera automáticamente los métodos toString(), equals() y hashCode(), los cuales intentan acceder a todos ...
Publicado el 7-31 13:36
Asociaciones y Mapeo de Relaciones en Hibernate
Asociación Varios a Uno (Many-to-One)
Consiste en añadir una clave foránea en el extremo "varios" que apunte al extremo "uno". Un caso típico sería múltiples empleados pertenecientes a un mismo departamento.
En la entidad del lado "varios" se incluye una referencia hacia la entidad del lado "uno". Por ...
Publicado el 7-30 04:57
Resolución de problemas de carga de relaciones en Hibernate: impacto de FetchType en consultas con joins
Introducción al problema
Al trabajar con relaciones entre entidades en Hibernate, puede ocurrir que una colección de objetos asociados no se recupere completamente. Consideremos un escenario donde una entidad Order tiene una lista de OrderItem, pero al obtener la colección, algunos elementos desaparecen misteriosamente.
Order pedido = orderDao. ...
Publicado el 7-16 17:15
Aprendiendo Hibernate 9 - Estrategias de Recuperación
En este capítulo, utilizaremos una relación de uno a muchos entre EntidadClase y Estudiante;
Estudiante.java:
package com.cy.modelo;
public class Estudiante {
private int identificador;
private String nombre;
private EntidadClase clase;
public int getIdentificador() {
return identificador;
}
public void set ...
Publicado el 7-13 05:55
Gestión de transacciones en aplicaciones Spring Boot
Concepto de transacciones en aplicaciones
En el desarrollo de aplicaciones, una transacción es una unidad de trabajo que garantiza que múltiples operaciones en la base de datos se ejecuten de manera atómica: o todas se completan con éxito, o todas se revierten en caso de fallo. Esto asegura la consistencia de los datos, especialmente en escenar ...
Publicado el 7-8 22:10
Métodos de Sesión en Hibernate para Operaciones con Objetos
En Hibernate, la interfaz Session es fundamental para interactuar con la base de datos y gestionar el ciclo de vida de los objetos. Este artículo explora métodos clave para manipular entidades, incluyendo diferencias en comportamiento y técnicas para optimizar las actualizaciones.
Métodos load() y get()
El método load() devuelve un proxy del ob ...
Publicado el 7-6 16:52
Caché de segundo nivel en Hibernate con Ehcache
Introducción al caché de segundo nivel
Propósito del mecanismo de caché:
El caché acelera la recuperación de grandes volúmenes de datos, mejorando significativamente el rendimiento de la aplicación.
Criterios para almacanar datos en caché:
Resulta apropiado para datos que se modifican con poca frecuencia o que permanecen estáticos, como catálog ...
Publicado el 7-5 05:00
Implementación de un DAO Genérico con HibernateDaoSupport en Spring
HibernateDaoSupport es una clase de Spring que faciilta las operaciones de acceso a datos con Hibernate mediante HibernateTemplate. A continuación, se muestra un diseño de un DAO genérico y su implementación.
Interfaz del DAO Genérico
package org.hibernate.dao.spring;
import java.io.Serializable;
import java.util.Collection;
import java.util.L ...
Publicado el 6-30 04:37
Implementación de Relaciones Uno a Uno en Hibernate
Seción: Implementación de Relaciones Uno a Uno en Hibernate
Supongamos que un usuario tiene una dirección asociada;
Implementación mediante clave primaria compartida: Usuario.java:
package com.example.modelo;
public class Usuario {
private int identificador;
private String nombre;
private Direccion direccion;
public int ...
Publicado el 6-26 17:20
Generación Automática de Código con Hibernate ORM 7.2: Guía Completa para Entidades y DAOs
Hibernate ORM 7.2 introduce una potente utilidad para la generación automática de código, agilizando significativamente la creación de clases de entidad y la capa de acceso a datos (DAO). Este artículo profundiza en la funcionalidad del Generador de Metamodelos (Metamoedl Generator) de Hibernate, proporcionando a los desarrolladores una guía ex ...
Publicado el 6-24 04:45