Bonjour,

J'utilise nhibernate 1.2 et j'aimerais savoir si il est possible de mapper une classe à plusieurs table. Voici mon problème :
J'ai crée une classe "Quantity". J'ai par ailleurs une classe "Product" qui contient :
- une propriété "UnitWeight" de type Quantity. Cette propriété doit être mappé à un champ "UnitWeight" de ma table "Product".
- une liste "Quantities" de Quantity. Ces quantités sont stockés coté base de données dans une table "Quantities".

Il faut donc que je map ma classe Quantity à deux tables différentes. J'ai donc écrit le fichier de mapping suivant :

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
 
 <class name="Product" lazy="false">
<id name="Id">
<generator class="identity" />
</id>
<bag name="Quantities" table="Quantities" order-by="MinQuantity">
<key column="Product_Id" />
<one-to-many class="Quantity" />
</bag>
<one-to-one name="UnitWeight" class="Quantity" />
</class>
 
<class name="Quantity" table="Quantities">
<id name="Id">
<generator class="identity" />
</id>
<property name="Value" column="Value" />
</class>
 
<class name="Quantity" table="Product">
<id name="Id">
<generator class="identity" />
</id>
<property name="Value" column="UnitWeight" />
</class>
J'obtiens avec ce mapping l'erreur suivante :
Duplicate class/entity mapping Weight

Visiblement je ne peux pas écrire 2 fois la même classe dans le fichier de mapping. Savez-vous comment corriger ce problème ?

merci d'avance.

mathmax