Bonjour,
J'ai deux table de type entête / détail
La table ENTETE a une séqence qui est l'index
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 <hibernate-mapping> <class name="domaine.Entete" table="ENTETE" > <id name="cle" type="long" column="ID_ENTETE"> <generator class="sequence"> <param name="sequence">ENTETE_SEQ</param> </generator> </id> <set name="listeDetails" table="DETAIL" cascade="all"> <key> <column name="ID_ENTETE_SEQ" /> </key> <one-to-many class="domaine.Detail"/> </set> .... </class> </hibernate-mapping>
La table DETAIL a une séqence qui est l'index et une clé étrangère qui est l'index de la table ENTETE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <hibernate-mapping> <class name="domaine.Detail" table="DETAIL" > <id name="cle" type="long" column="ID_DETAIL"> <generator class="sequence"> <param name="sequence">DETAIL_SEQ</param> </generator> </id> <property name="cleEntete" type="long"> <column name="ID_ENTETE_SEQ" /> </property> ... </class> </hibernate-mapping>
Sauf que quand j'insert l'objet ENTETE avec deux lignes DETAIL, les requêtes DETAIL on pour clé étrangère 0 (colonne ID_ENTETE_SEQ)
ce qui fait que le message d'erreur me dit qu'il y a une erreur de violation de contrainte
Je pense que je dois avoir une erreur au niveau du mapping, j'aurrai pensé à un paramètre à ajouter sur le set du mapping de la table ENTETE
Merci pour votre aide
Partager