IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Les EJB Entity


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Points : 32
    Points
    32
    Par défaut Les EJB Entity
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
      @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. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 208
    Points : 32
    Points
    32
    Par défaut
    je trouve que 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 au moins la signification de cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hash += (codeclasse != null ? codeclasse.hashCode() : 0);

  3. #3
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Quand on redéfinit equals, on doit redéfinir hashcode. Cette méthode est utilisée pour les répartitions par hachage (je te laisse trouver de la doc).

    Ensuite, le fait d'utiliser +=, c'est une habitude, car bien souvent on assigne comme valeur au hash la somme des hash des identifiants de l'objet (ce qui assure le respect du contrat entre hashcode et equals).

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/04/2009, 17h48
  2. plugin eclipse pour modéliser les EJB entity
    Par EAKOM dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 30/03/2009, 10h04
  3. [EJB] Généralités sur les EJB Entity
    Par drKzs dans le forum Java EE
    Réponses: 2
    Dernier message: 07/04/2006, 12h15
  4. [EJB] Utiliser seulement les interfaces locales avec les ejb
    Par clement42 dans le forum Java EE
    Réponses: 1
    Dernier message: 06/01/2006, 12h12
  5. [EJB2.1 Entity] [CMP] Problème avec les @ejb.finder
    Par karibouxe dans le forum Java EE
    Réponses: 20
    Dernier message: 28/12/2005, 23h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo