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

Hibernate Java Discussion :

Relations (m, n) ?


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 118
    Par défaut Relations (m, n) ?
    Bonjour,

    Voici le schéma relationnel de 3 tables dont je dispose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     * BB(BB_IDEN, DATE_DEBUT, DATE_FIN, ...)
     * ERREUR(CODE_ERREUR, LIBELLE_ERREUR)
    
     Mon objet « BB » peut contenir de « 0 à 10 » erreurs potentielles :
    
     * BB_ERREURS(BB_IDEN#, CODE_ERREUR#)
    Avec Hibernate 3, comment peut-t-on mapper ces trois objets en disant à Hibernate que je ne veux pas créer un objet BB_ERREURS mais qu'il me créé une liste d'erreurs rattachée directement à l'objet BB ?

    Pour le moment, voici le mapping de mes deux objets : «
    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
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     
    <hibernate-mapping package="fr">
            <class name="BB" table="BB">
                    <id name="id" column="BB_IDEN">
                            <generator class="native" />
                    </id>
                    <property name="dateDebut" column="DATE_DEBUT" type="date"/>
                    <property name="dateFin" column="DATE_FIN" type="date"/>
            </class>
            <class name="Erreur" table="ERREUR">
                    <id name="id" column="CODE_ERREUR">
                            <generator class="native" />
                    </id>
                    <property name="libelleErreur" column="LIBELLE_ERREUR" type="string"/>
            </class>
    </hibernate-mapping>
    ».

    Voici le détail de mes deux classes Java :
    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
     
    package fr;
     
    import java.io.Serializable;
    import java.util.Date;
    import java.util.HashSet;
    import java.util.Set;
     
    public class BB implements Serializable {
    	private static final long serialVersionUID = 0L;
    	private String identifiantBB;
    	private Date dateDebut;
    	private Date dateFin;
     
    	// Je souhaiterais que mon objet BB contiennent ma liste d'erreurs.
    	private Set listeErreurs = new HashSet();
     
    	public BB() {
    	}
     
    	public BB(String id) {
    		identifiantBB = id;
    	}
     
    	public String getIdentifiantBB() {
    		return identifiantBB;
    	}
     
    	public void setIdentifiantBB(String identifiantBB) {
    		this.identifiantBB = identifiantBB;
    	}
     
    	public Date getDateDebut() {
    		return dateDebut;
    	}
     
    	public void setDateDebut(Date dateDebut) {
    		this.dateDebut = dateDebut;
    	}
     
    	public Date getDateFin() {
    		return dateFin;
    	}
     
    	public void setDateFin(Date dateFin) {
    		this.dateFin = dateFin;
    	}
     
    	public Serializable getId() {
    		return (Serializable)identifiantBB;
    	}
     
    	public void setId(Serializable s) {
    		identifiantBB = (String)s;
    	}
     
    	public Set getListeErreurs() {
    		return listeErreurs;
    	}
     
    	public void setListeErreurs(Set listeErreurs) {
    		this.listeErreurs = listeErreurs;
    	}
    }
     
     
    package fr;
     
    import java.io.Serializable;
     
    public class Erreur implements Serializable {
    	private static final long serialVersionUID = 0L;
    	private String codeErreur;
    	private String libelleErreur;
     
    	public Erreur() {
    	}
    	public Erreur(String code) {
    		codeErreur = code;
    	}
     
    	public String getCodeErreur() {
    		return codeErreur;
    	}
     
    	public void setCodeErreur(String codeErreur) {
    		this.codeErreur = codeErreur;
    	}
     
    	public String getLibelleErreur() {
    		return libelleErreur;
    	}
     
    	public void setLibelleErreur(String libelleErreur) {
    		this.libelleErreur = libelleErreur;
    	}
     
    	public Serializable getId() {
    		return (Serializable)codeErreur;
    	}
     
    	public void setId(Serializable s) {
    		codeErreur = (String)s;
    	}
    }
    Comment faire pour que mon objet BB contiennent une liste d'erreurs ?

    Merci pour votre.
    F.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Tu peux faire un many-to-many dans BB vers ERREUR en spécifiant BB_ERREURS comme table de jointure.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre en relation les contrôles DBLookUpComboBox et DBGrid
    Par Gendarmette dans le forum Bases de données
    Réponses: 7
    Dernier message: 19/01/2004, 13h16
  2. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 14/01/2004, 17h07
  3. [EJB2.1 Entity] [CMR] Relation One to Many
    Par hamed dans le forum Java EE
    Réponses: 2
    Dernier message: 31/12/2003, 14h26
  4. Réponses: 2
    Dernier message: 26/09/2003, 15h54
  5. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

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