Bonjour,
J'ai un problème de ORA-02291: violation de contrainte d'intégrité (FKIDOPERATION_TARIF) - clé parent introuvable
avec deux tables, une table OPERATION qui est la table parent et la table TARIF qui est la table enfant dont une de ses colonnes est une FK de l'ID d'Operation
J'ai déjà regardé pas mal de poste sur internet sans succès.
Voici ce que je fais dans mon programme :
Code:
Session session = HibernateUtil.sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
Operation newOperation = new Operation();
newOperation.setIdOperation((long)-1)); // let hibernate do the incrementation
session.save(newOperation);
Tarif newTarif = new Tarif();
newTarif.setIdTarif((long)-1);// let hibernate do the incrementation
newTarif.setOperation(newOperation);
newOperation.getTarifs().add(newTarif);
session.save(newTarif);
transaction.commit();
session.close();
Hibernate fait bien un INSERT en premier d'une Operation puis un INSERT d'un TARIF (c'est ici que j'obtiens l'erreur )
Voici le mapping des deux tables
Code:
<set name="tarifs" table="TARIF" inverse="true" >
<key>
<column name="FKIDOPERA" precision="11" scale="0" not-null="true" />
</key>
<one-to-many class="com.hibernate.Tarif" />
</set>
Code:
<many-to-one name="operation" class="com.hibernate.Operation" >
<column name="FKIDOPERA" precision="11" scale="0" not-null="true" />
</many-to-one>
J'ai suivi la procédure suivante : http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/example-parentchild.html
mais j'ai toujours une erreur de clé parente introuvable.
Si vous avez besoin d'autres infos
Si quelqu'un peut m'aider ! Merci