Se encuentra en:
Implementando equals() y hashCode() utilizando igualdad de negocio en Hibernate
RECU-0663 (Recurso Ejemplo)
- Área: Capa de Persistencia
- Grupo: Java
- Carácter del recurso: Recomendado
- Tecnologías: Hibernate
Descripción
La igualdad de clave de negocio significa que el método equals() solamente compara las propiedades que forman la clave de negocio. Esta es una clave que podría identificar nuestra instancia en el mundo real (una clave candidata natural). En este ejemplo vemos cómo podemos implementar los métodos equals() y hashcode() utilizando la igualdad de clave de negocio.
Ejemplos
public class Cat {
...
public boolean equals(Object other) {
if (this == other) return true;
if ( !(other instanceof Cat) ) return false;
final Cat cat = (Cat) other;
if ( !cat.getLitterId().equals( getLitterId() ) ) return false;
if ( !cat.getMother().equals( getMother() ) ) return false;
return true;
}
public int hashCode() {
int result;
result = getMother().hashCode();
result = 29 * result + getLitterId();
return result;
}
}
Contenidos relacionados
Pautas
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0046 | Buenas prácticas en el uso de Hibernate | Libro de pautas | Directriz | Obligatoria |