Bonjour a tous ,
Je travaille avec hibernate 3 sous Struts.
Mon probleme :
J'ai trois tables SP_CATEGORY, SP_CATEGORY_CHAPTER, et SP_CHAPTER.La relation entre la premiere et la troisiemme est many-to-many , et entre la premiere et la deuxiemme ansi que entre la troisiemme et la deuxiemme est aussi one-to-many.
La structure des tables est la suivante :
<hibernate-mapping default-lazy="false" package="bdd.util">
<class name="SpCategory" table="SP_CATEGORY">
<id
column="ID_CATEGORY"
length="22"
name="IdCategory"
type="integer"
>
<generator class="increment"/>
</id>
<property
column="POSITION"
length="22"
name="Position"
not-null="false"
type="integer"
/>
<property
column="NAME"
length="80"
name="Name"
not-null="true"
type="string"
/>
<set
cascade="delete-orphan"
name="SpChapterSet"
table="SP_CATEGORY_CHAPTER"
>
<key column="ID_CATEGORY"/>
<many-to-many class="SpChapter" column="ID_CHAPTER"/>
</set>
<set
cascade="delete-orphan"
name="SpRubriqueSet"
table="SP_RUBRIQUE_CATEGORY"
>
<key column="ID_CATEGORY" />
<many-to-many class="SpRubrique" column="ID_RUBRIQUE" />
</set>
</class>
<class name="SpChapter" table="SP_CHAPTER">
<id
column="ID_CHAPTER"
length="22"
name="IdChapter"
type="integer"
>
<generator class="increment"/>
</id>
<property
column="NAME"
length="80"
name="Name"
not-null="true"
type="string"
/>
<many-to-one
class="SpUser"
name="IdUser"
not-null="true"
>
<column name="ID_USER"/>
</many-to-one>
<set
cascade="delete-orphan"
name="SpCategorySet"
table="SP_CATEGORY_CHAPTER"
>
<key column="ID_CHAPTER" />
<many-to-many class="SpCategory" column="ID_CATEGORY"/>
</set>
</class>
<class name="SpCategoryChapter" table="SP_CATEGORY_CHAPTER">
<composite-id>
<key-many-to-one
class="SpCategory"
column="ID_CATEGORY"
name="IdCategory"
/>
<key-many-to-one
class="SpChapter"
column="ID_CHAPTER"
name="IdChapter"
/>
</composite-id>
</class>
</hibernate-mapping>
Quand j'ajoute un SP_CATEGORY , je precise à quel SP_CHAPTER elle appartient et la relation entre les deux s'ajoute dans la table SP_CATEGORY_CHAPTER ; mais quand je supprime un SP_CATEGORY cela entraine la suppression des SP-CHAPTER correspondant meme si ces chapitres contient d'autres categories (SP_CATEGORY). Je voudrais gerer ce probleme au noveau des fichiers HBM et non au niveau des methodes metier, mais je ne sais pas commenet faire la bonne configuration de ces fichiers (surtout au niveau des cascades)
Avez vous une idée de comment résoudre ce problème.
Salutations.
Erion
|