Besoin d'aide pour comprendre ejb.entites

mb42 Messages postés 553 Statut Membre -  
mb42 Messages postés 553 Statut Membre -
Bonjour,

j'ai suis entrain de travailler avec J2EE

pour le moment je suis entrain de comprendre quelque framwork

je trouve sur le net un code qui utilise EJB3 et je besoin d'aide pour comprendre une partie de ce code

voila le code
package projetgpe.ejb.entites;
 
import java.io.Serializable;
import java.util.Collection;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
 
/**
 *
 * @author lefennec
 */
@Entity
@Table(name = "CLASSE")
@NamedQueries({@NamedQuery(name = "Classe.findByCodeclasse", query = "SELECT c FROM Classe c WHERE c.codeclasse = :codeclasse"), @NamedQuery(name = "Classe.findByLibelleclasse", query = "SELECT c FROM Classe c WHERE c.libelleclasse = :libelleclasse"), @NamedQuery(name = "Classe.findByNomprofclasse", query = "SELECT c FROM Classe c WHERE c.nomprofclasse = :nomprofclasse")})
public class Classe implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "CODECLASSE", nullable = false)
    private String codeclasse;
    @Column(name = "LIBELLECLASSE")
    private String libelleclasse;
    @Column(name = "NOMPROFCLASSE")
    private String nomprofclasse;
    @JoinColumn(name = "CODEDPT", referencedColumnName = "CODEDPT")
    @ManyToOne
    private Departement codedpt;
    @OneToMany(mappedBy = "codeclasse")
    private Collection<Et> etCollection;
    @OneToMany(mappedBy = "codeclasse")
    private Collection<Cours> coursCollection;
    @OneToMany(mappedBy = "codeclasse")
    private Collection<Presence> presenceCollection;
 
    public Classe() {
    }
 
    public Classe(String codeclasse) {
        this.codeclasse = codeclasse;
    }
 
    public String getCodeclasse() {
        return codeclasse;
    }
 
    public void setCodeclasse(String codeclasse) {
        this.codeclasse = codeclasse;
    }
 
    public String getLibelleclasse() {
        return libelleclasse;
    }
 
    public void setLibelleclasse(String libelleclasse) {
        this.libelleclasse = libelleclasse;
    }
 
    public String getNomprofclasse() {
        return nomprofclasse;
    }
 
    public void setNomprofclasse(String nomprofclasse) {
        this.nomprofclasse = nomprofclasse;
    }
 
    public Departement getCodedpt() {
        return codedpt;
    }
 
    public void setCodedpt(Departement codedpt) {
        this.codedpt = codedpt;
    }
 
    public Collection<Et> getEtCollection() {
        return etCollection;
    }
 
    public void setEtCollection(Collection<Et> etCollection) {
        this.etCollection = etCollection;
    }
 
    public Collection<Cours> getCoursCollection() {
        return coursCollection;
    }
 
    public void setCoursCollection(Collection<Cours> coursCollection) {
        this.coursCollection = coursCollection;
    }
 
    public Collection<Presence> getPresenceCollection() {
        return presenceCollection;
    }
 
    public void setPresenceCollection(Collection<Presence> presenceCollection) {
        this.presenceCollection = presenceCollection;
    }
 
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (codeclasse != null ? codeclasse.hashCode() : 0);
        return hash;
    }
 
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Classe)) {
            return false;
        }
        Classe other = (Classe) object;
        if ((this.codeclasse == null && other.codeclasse != null) || (this.codeclasse != null && !this.codeclasse.equals(other.codeclasse))) {
            return false;
        }
        return true;
    }
 
    @Override
    public String toString() {
        return "projetgpe.ejb.entites.Classe[codeclasse=" + codeclasse + "]";
    }
 
}
 


la partie qui j'ai besoin de la comprendre est la suivante et si possible avec le plus possible de detail
 @Override
    public int hashCode() {
        int hash = 0;
        hash += (codeclasse != null ? codeclasse.hashCode() : 0);
        return hash;
    }
 
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Classe)) {
            return false;
        }
        Classe other = (Classe) object;
        if ((this.codeclasse == null && other.codeclasse != null) || (this.codeclasse != null && !this.codeclasse.equals(other.codeclasse))) {
            return false;
        }
        return true;
    }
 


merci d'avance

2 réponses

mb42 Messages postés 553 Statut Membre 7
 
je sais que Cette partie du code n'a rien à voir avec les ejb : c'est de la surcharge des fonctions equals et hashCode de l'objet Object de java : la surcharge de la fonction equals permet de savoir si deux objets sont égaux (non pas les pointeurs de ces objets mais leur valeurs),

mais je veux savoir l'utilité de la fonction hashCode()

et surtout cette ligne
hash += (codeclasse != null ? codeclasse.hashCode() : 0);
0
mb42 Messages postés 553 Statut Membre 7
 
personne n'a aucune idee
0