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 :

[hibernate 3] mapping many-to-many


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut [hibernate 3] mapping many-to-many
    Bonjour,

    dans mon projet j'ai besoin de faire un mapping qui je pense est assez courant :

    Voici le shema relationnel
    - bookOrder(id, date, ...)
    - book(id, isbn, title, price, ...)
    - OrderItems(bookOrder_id, book_id, quantity) clé primaire : composition des premièrs champs

    Le problème se situe au niveau de la table association (orderItems). Effectivement, non seulement
    elle liste les associations mais elle apporte aussi l'information de quantité .

    Ma question comment mapper une telle association?

    voici ce à quoi j'avais pensé :
    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
     
    <hibernate-mapping>
    <class name="hibernate.TBookOrder" table="t_bookorder">
     
            <id name="id" type="int">
                <column name="id" sql-type="int(4)"/>
                <generator class="increment" />
            </id>
     
            <property name="date" type="date">
                <column name="date" sql-type="timestamp" not-null="false"/>
            </property>
     
        <many-to-one name="vendor" 
            column="vendor_code"
            class="hibernate.TVendor" 
            not-null="true"
            cascade="all"/>
     
        <many-to-one name="customer" 
            column="customer_code"
            class="hibernate.TCustomer" 
            not-null="true"
            cascade="all"/>
     
        <set name="orderItems" table="t_orderitems" lazy="true">
            <key column="bookOrder_id" />
            <many-to-many column="book_id" class="hibernate.TBook" />
            </set>
    </class>
    </hibernate-mapping>
    Je compte faire un lien unidirectionnel.

    Cette solution n'en est en fait pas une, puisque je ne retrouve plus ma quantité.

    Merci d'avance pour votre aide précieuse!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    peu d'inspiration chez moi comme chez vous j'ai l'impression.

    En tout les cas je continue à chercher de mon coté. Si quelqu'un à déjà été confronté au problème, merci pour ses illuminations.

  3. #3
    Membre habitué 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
    Points : 182
    Points
    182
    Par défaut
    salut,
    je suis nouveau sur ce forum, et il s'avers que je me suis trouvé confronté au même problème que toi darkyspirit , je cherche encore, et je te promet de récrire si je trouve une solution

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    Il faudrait dans ce cas penser à mapper deux relations one-to-many/many-to-one séparées. Une relation one-to-many entre BookOrder et OrderItem, puis une autre relation many-to-one entre OrderItem et Book.

  5. #5
    Membre habitué 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
    Points : 182
    Points
    182
    Par défaut
    euréka
    enfin je pense :/.
    je bosse dessus depuis le début de l'après midi je commence à avoir la tête qui gonfle ... je verrais demain si c'est bon :p.
    en tout cas j'ai trouvé un tuto qui soulève la question.
    En espérant que tu y trouvera ton bonheure je te propose de jeter in oeil sur ce lien : http://www.hibernate.org/hib_docs/v3...-mappings.html
    bon courage

Discussions similaires

  1. Hibernate Update sous sélection sur Many-to-many
    Par chang_koukaii dans le forum Hibernate
    Réponses: 0
    Dernier message: 06/12/2007, 12h19
  2. 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
  3. Réponses: 4
    Dernier message: 22/01/2007, 15h20
  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