Hello,

J'utilise JBoss tools sur Eclipse pour générer mes classes / fichiers de mapping hibernate (3.6.0).
Pour gérer le many to many il crée un Set:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<set name="monSet" table="TABLE1_TABLE2" inverse="false" lazy="true" fetch="select">
            <key>
                <column name="IDTABLE1" precision="7" scale="0" not-null="true" />
                <column name="AUTREID" length="5" not-null="true" />
            </key>
            <many-to-many entity-name="com.xxx.TABLE2">
                <column name="IDTABLE2" precision="7" scale="0" not-null="true" />
            </many-to-many>
        </set>
Le souci est que dans ma TABLE2 mon ID est (aussi) composite: (IDTABLE2, AUTREID) donc j'obtiens l'erreur de type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Foreign key must have same number of columns as the referenced primary key
Je rajoute donc mon AUTREID:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<set name="monSet" table="TABLE1_TABLE2" inverse="false" lazy="true" fetch="select">
            <key>
                <column name="IDTABLE1" precision="7" scale="0" not-null="true" />
                <column name="AUTREID" length="5" not-null="true" />
            </key>
            <many-to-many entity-name="com.xxx.TABLE2">
                <column name="IDTABLE2" precision="7" scale="0" not-null="true" />
                <column name="AUTREID" length="5" not-null="true" />
            </many-to-many>
        </set>
Et le souci est que le nom est le même...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
org.hibernate.MappingException: Repeated column in mapping for collection: com.xxx.TABLE1.monSet column: AUTREID
Alors je me sens un peu bloqué, n'est-ce pas gérable avec des noms de colonnes clés qui sont les mêmes dans les tables?
Car j'imagine que cela fonctionne nickel si mes couples étaient (IDTABLE1, AUTREID) et (IDTABLE2, AUTREIDBIS) mais pas de chance ça a été fait comme ça!

Si vous avez une solution à me proposer autre que de revoir la bdd j'en serais ravi.
Je pensais utiliser les annotations JPA mais d'abord je sais pas si je peux avoir le même problème et ensuite j'aimais bien cette automatisation

Merci d'avance