Besoin d'aide pour comprendre ejb.entites

mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011 - 3 oct. 2010 à 00:51
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 3 oct. 2010 à 09:08
salut,

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 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 getPresenceCollection() {
        return presenceCollection;
    }
 
    public void setPresenceCollection(Collection 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

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
3 oct. 2010 à 09:08
Salut,

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 te permet de savoir si deux objets sont égaux (non pas les pointeurs de ces objets mais leur valeurs), la fonction hashCode tant qu'à elle doit renvoyer un identifiant unique qui permet de distinguer une instance de classe d'une autre afin de gérer correctement les HashTable, HashMap, etc.

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous