Codage equals et hashCode equals hashCode

L’égalité entre objets est importante dans Spring, notamment pour les architectures utilisant Spring en conjonction avec un mapping objet-relationnel (en anglais Object-Relational Mapping ou ORM) comme Hibernate et JPA. ORM

Il y a en effet, comme nous le détaillerons par la suite, dans Spring, Hibernate et JPA des notions de proxy. Quand nous aurons deux objets en mémoire, nous devrons faire attention à ne pas comparer un proxy avec l’objet qu’il proxyfie.

De même, deux objets pourront être identiques d’un point de vue métier alors qu’ils sont présents dans deux objets distincts en mémoire. Nous verrons que cet aspect est crucial lors de l’utilisation de collections.

Une définition selon Java nous présente ce que l’on attend des méthodes equals et hashCode. À partir de cette définition, nous verrons comment adapter ce concept pour une utilisation dans une architecture qui utilise massivement les proxy et les listes comme celle de Spring, JPA et Hibernate.

Dans ce chapitre, nous dirons le "equals" pour désigner la méthode equals et le "hashcode" pour désigner la méthode hashCode.

Une traduction approximative de la documentation officielle pour equals et hashCode est présentée ci-dessous.

equals

public boolean equals(Object obj) 

Indique si un objet est égal à celui passé en paramètre.

La méthode...

couv_EP4JASP.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Points clés
Suivant
Projet Lombok