Bonjour,
voila j'ai un petit soucis que je n'arrive pas à résoudre.
J'utilise un schéma de base que je ne peux pas modifier, et j'ai ce type de table :
Modele[idModele,...]
Variable[IdVariable,...]
ModeleVariable[IdModele,IdVariable,libelleModeleVariable,...]
En sachant qu'il n'est intéressant pour moi que de retrouver les variables en fonction du modèle.
J'ai donc mappé les tables comme ceci.
<class name="ModeleVariable">
<composite-id name="idModeleVariable" class="XX.IdentifiantModeleVariable">
<key-many-to-one name="idVariable" class="XX.Variable"/>
<key-many-to-one name="idModele" class="XX.Modele"/>
</composite-id>
<property name="libelleModeleVariable" />
</class>
<class name="Modele">
...
<bag name="variablesModele" lazy="false" table="ModeleVariable" cascade="all">
<key>
<column name="idModele" not-null="true" />
</key>
<one-to-many
class="XX.ModeleVariable" />
</bag>
...
</class>
<class name="Variable">
<id name="id" type="long">
<column name="idVariable"/>
<generator class="increment">
</generator>
</id>
...
</class>
Si je créé un modele, que je lui attribut des variables et que j'utilise le saveOrUpdate sur le modèle,
il doit normalement sauvegarder l'arbre du modele en entier, avec les ModeleVariable ?
Parce que quand j'effectue cette opération, il me leve une exception car il essaye d'insérer NULL dans
la colonne idModele de ModeleVariable. Est-ce que j'effectue mal l'opération ou mon mapping est-il mauvais ?
Merci par avance.
Partager