mdh12
Messages postés55Date d'inscriptiondimanche 13 décembre 2009StatutMembreDernière intervention29 mars 2011
-
3 oct. 2010 à 00:51
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDerniè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;
}
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 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