-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Association n-n (many-to-many) avec classe d'association
PostPosted: Fri May 02, 2008 11:31 am 
Newbie

Joined: Fri May 02, 2008 11:06 am
Posts: 3
Bonjour

J'ai trois tables membres_famille, adresses et membre_famille_adresse, que je souhaite faire corespondre avec 3 classes MembreFamille, MembreFamilleAdresse et Adresse.

Je souhaite également que la suppression d'un membre de famille supprime les associations qui y sont attachées mais aussi les adresses qui sont de l'autre côté.
C'est cette deuxième suppression que je n'arrive pas à faire réaliser automatiquement par Hibernate.

Actuellement j'ai écrit ceci dans MembreFamille.hbm.xml :
Code:
[...]
      <set name="adresses" inverse="true" cascade="all-delete-orphan" lazy="true">
         <key column="id_membre"/>
         <one-to-many class="MembreFamilleAdresse"/>
      </set>
[...]


et dans MembreFamilleAdresse.hbm.xml :

Code:
<hibernate-mapping package="mecs.donnees.coeur.famille">
   <class
      name="MembreFamilleAdresse"
      table="membres_famille_adresse"
   >
      <meta attribute="sync-DAO">false</meta>

      <composite-id name="id" class="MembreFamilleAdresseCP">
         <key-many-to-one
            name="adresse"
            class="mecs.donnees.coeur.Adresse"
            column="id_adresse"
         />
         <key-many-to-one
            name="membreFamille"
            class="MembreFamille"
            column="id_membre"
         />
      </composite-id>

        <many-to-one
            name="typeAdresse"
            column="id_type_adresse"
            class="mecs.donnees.coeur.nomenclatures.EltNomencTypesAdrUsagers"
            not-null="true"
        >
        </many-to-one>
   </class>   
</hibernate-mapping>



Apparemment il n'y a pas moyen d'écrire quelque chose comme cascade="all-delete-orphan" dans les éléments de la clé composée de l'association.

Quelle est la meilleure solution pour effectuer automatiquement les suppressions voulues ?

J'ai bien regardé avec les balises many-to-many, mais la doc n'est pas très claire là-dessus je trouve, en particulier quand on a une classe d'association. Il y a bien des exemples qui gèrent une table d'association, mais sans la faire correspondre à une classe (ou alors je n'ai pas compris comment).

Avez-vous un exemple qui fonctionne ?

Merci

Syll


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jun 04, 2008 4:38 am 
Newbie

Joined: Fri May 02, 2008 11:06 am
Posts: 3
Aucune idée ?
Ca doit être courant comme cas, non ?
Est-ce que mes explications ne sont pas claires ?

syll


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.