Bonjour,
J'ai un petit problème de mise à jour de mes données.
J'ai un objet "declaration" qui contient une liste d'objet "surface"

en java ça donne ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
public class Declaration
{
---
    /** Surfaces */
    private List<Surface> surfaces;
...
}
avec le mapping suivant

declaration.hbm.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    <list lazy="false" name="surfaces" table="surfaces" cascade="all-delete-orphan" inverse="true">
      <key foreign-key="surfaces_id_declaration_fkey">
        <column name="id_declaration" not-null="true" />
      </key>
      <list-index column="idx"></list-index>
      <one-to-many class="Surface" />
    </list>
surface.hbm.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<hibernate-mapping package="bean">
  <class name="Surface" table="surfaces_declarations" lazy="false">
    <id name="idSurface" type="java.lang.String" column="id_surface">
      <generator class="assigned" />
    </id>
...
    <property generated="never" lazy="false" name="idDecLoc" type="java.lang.String">
      <column name="id_declaration" />
    </property>
  </class>
</hibernate-mapping>
en dao je fais un simple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
getHibernateTemplate().saveOrUpdate(declaration);
Mon problème est le suivant:
Quand je crée une déclaration et ses surfaces, pas de problème
quand je met à jour une déclaration en lui ajoutant des surfaces toujours pas de problème
quand je modifie des surfaces dans une déclaration, toujours aucun problème.

Par contre, quand je supprime une surface dans une déclaration, la modification n'est pas répercutée en base de données.
Quelqu'un a-t-il une idée d'où peut provenir mon problème ?

Merci d'avance de votre aide.