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!