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 :

mapping many-to-many ?


Sujet :

Hibernate Java

  1. #1
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut mapping many-to-many ?
    Bonjour,
    je suis débutant en Hibernate, et je tente de réaliser un mapping pour une association 0-n, j'ai trouvé quelques exemples sur le net (surtout sur http://www.hibernate.org/hib_docs/v3...-mappings.html) mais je n'ai pas vraiment compris tout le prncipe.
    En gros mon but serait se mapper une relation comme celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     ___________         ___________          ___________
    |client     | 0-n   /commande   \   0-n  |article    |
    |___________|-------|___________|--------|___________|
    |*id_client |       |quantité   |        |*id_article|
    |nom_client |       |           |        |libellé    |
    |___________|       \___________/        |___________|
    ce qui donnerait une base de donnée comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     ___________         ___________          ___________
    |client     | 0-n   |commande   |   0-n  |article    |
    |___________|-------|___________|--------|___________|
    |*id_client |       |*id_client |        |*id_article|
    |nom_client |       |*id_article|        |libellé    |
    |___________|       |quantité   |        |___________|
                        |___________|
    je sais à peut près comment faire si il n'y avait pas le champ quantité, mais là, je ne voit vraiment pas comment faire,
    si quelqu'un veux bien m'aider, je lui en serait reconnaissant,
    Il est 4h54, et je suis dessus depuis cet après-midi :'(, je suis vraiment paumé les gas...

    merci d'avance.

  2. #2
    Membre éclairé Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut
    Bonjour,

    Pour faire le mapping de la table commande tu fais en gros :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <hibernate-mapping>
    	<class name="com.xxxx.xxxx.Commande" table="COMMANDE">
    		<composite-id>
    			<key-many-to-one name="client" class="com.xxxx.xxxx.Client" column="id_client"/>
    			<key-many-to-one name="article" column="id_article" class="com.xxxx.xxxx.Article" />
    		</composite-id>		
    		<property column="quantité" length="4" name="Quantite" type="java.lang.Integer" />
    	</class>
    </hibernate-mapping>

    Voila j'espère que cela répond à ta question.

  3. #3
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut
    salut,
    merci beaucoup pour ton aide,
    il me reste tout de même une question :
    est ce que je doit mettre un set de clients dans articles et un set de article dans client ?
    je m'explique :
    pour la classe client.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public classe Client{
    	public Client(){}
    	private int id_client;
    	private String nom_client;
    	private Set articles;
    	+ getters & setters...
    }
    article.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public classe Article{
    	public Article(){}
    	private int id_id_article;
    	private String libelle;
    	private Set client;
    	+ getters & setters...
    }
    avec les bon mappings qu'il faut? ou bien la classe Commande est elle suffisante pour le mapping ?
    merci

  4. #4
    Membre éclairé Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Par défaut
    Non, il faut simplement ajouter un set de commande dans les tables article et client :

    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
    public classe Client{
    	public Client(){}
    	private int id_client;
    	private String nom_client;
    	private Set Commande;
    	+ getters & setters...
    }
     
    public classe Article{
    	public Article(){}
    	private int id_id_article;
    	private String libelle;
    	private Set Commande;
    	+ getters & setters...
    }

  5. #5
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut
    merci beaucoup bouchette63,
    ça m'aide carément

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

Discussions similaires

  1. Un peu de mal a comprendre le concepte "one-to-many" et "many-to-many"
    Par chriscoolletoubibe dans le forum Hibernate
    Réponses: 4
    Dernier message: 29/03/2007, 18h50
  2. Map : many-to-many
    Par Ho(c)ine. dans le forum Hibernate
    Réponses: 3
    Dernier message: 26/02/2007, 09h51
  3. [hibernate 3] mapping many-to-many
    Par darkyspirit dans le forum Hibernate
    Réponses: 4
    Dernier message: 29/12/2006, 19h37
  4. Réponses: 2
    Dernier message: 17/07/2006, 14h45
  5. [Hibernate] Mapping one-to-many + cle composite
    Par brainstorm dans le forum Hibernate
    Réponses: 2
    Dernier message: 23/06/2006, 10h51

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