Bonjour à tous ,


J'ai un petit problème avec mon fichier de mapping. La situation est la suivante :

Je possède 3 tables : Expense , PartialNote , NoteExpense.

NoteExpense possède une collection d'Expense , pour cela , la table de jointure PartialNote rentre en jeu

Lorsque j'ajoute des expenses à une note , et que je sauvegarde cette note , pas de problèmes , tout s'insère bien dans la base de données. Mais quand je supprime une note , il me delete bien dans la table Expense toutes les expenses de la note par contre , la table PartialNote contient toujours les références vers NoteExpense et Expense.

Je vous donne les fichiers de mapping d'expense et noteExpense :

Expense :

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
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
  <class name="model.classes.Expense" table="EXPENSE" catalog="GestionConge">
  	<id name="idExpense" type="short">
            <column name="IDExpense"/>
            <generator class="increment" />
    </id>
        <property name="nature" type="string">
            <column name="Nature" not-null="true" />
        </property>
        <property name="date" type="date">
            <column name="Date" not-null="true" />
        </property>
            <property name="amount" type="short">
            <column name="Amount" not-null="true" />
        </property>
        <join table="OCCUPATIONEXPENSE" 
        inverse="true" 
        optional="true">
        <key column="idExpense" on-delete="cascade" />
        <many-to-one name="occupation" 
            column="refOccupation" 
            not-null="true" class="model.classes.occupation.Occupation" />
        </join>
        <join table="PARTIALNOTE" 
        optional="true" inverse="true">
        <key column="idExpense"/>
        <many-to-one name="note" 
            column="idNote" 
            not-null="true" class="model.classes.NoteExpenses" />
        </join>
  </class>
</hibernate-mapping>

NoteExpense :

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
26
27
28
29
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 22 f?vr. 2008 08:51:49 by Hibernate Tools 3.2.0.CR1 -->
<hibernate-mapping>
    <class name="model.classes.NoteExpenses" table="NOTEEXPENSES" catalog="GestionConge">
        <id name="idNote" type="short">
            <column name="IDNote" precision="4" scale="0" />
            <generator class="increment" />
        </id>
        <set name="expenses" table="PARTIALNOTE" cascade="all-delete-orphan" >
        	<key column="idNote"  />
       	 	<many-to-many column="idExpense" 
            	class="model.classes.Expense"/>
    	</set>
        <property name="validInf" type="boolean">
            <column name="ValidInf" not-null="true" />
        </property>
        <property name="validSup" type="boolean">
            <column name="ValidSup" not-null="true" />
        </property>
         <property name="title" type="string">
            <column name="Title" not-null="true" />
        </property>
           <property name="idUser" type="short">
            <column name="IDUser" not-null="true" />
            </property>
    </class>
</hibernate-mapping>

Si quelqu'un à une idée sur l'origine du problème ^^