-->
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.  [ 3 posts ] 
Author Message
 Post subject: Delete pour un many-to-many
PostPosted: Tue Apr 19, 2011 6:07 am 
Newbie

Joined: Tue Apr 19, 2011 2:41 am
Posts: 2
Bonjour,
Je tiens d'abord à préciser que je suis newbie en matière d'Hibernate.
Je cherche à deleter une relation many-to-many et uniquement cette relation. Les entités ne doivent pas être supprimé.
J'ai donc dans l'EntityA un set de EntityB et dans l'EntityB un set de EntityA.
J'ai trouvé comment deleter uniquement la relation dans la table d'association mais je passe pas par des propriétés de mapping.
En clair je fais ce type de modification
Code:
public class EntityB {
...
   public void removeEntityA(EntityA entityA) {
      this.getEntityA().remove(entityA);
      entityA.getEntityB().remove(this);
   }
   public void addEntityA(EntityA entityA) {
      this.getEntityA().add(entityA);
      entityA.getEntityB().add(this);
   }
}

public class EntityA {
...
   public void removeEntityB(EntityB entityB) {
      this.getEntityB().remove(entityB);
      entityB.getEntityA().remove(this);
   }
   public void addEntityB(EntityB entityB) {
      this.getEntityB().add(entityB);
      entityB.getEntityA().add(this);
   }
}


Je trouve cela pas forcément propre pour effectuer un delete d'une association many-to-many.
Si je passe pas des cascade (all ou delete-all-orphan), je supprime l'entityA ou B suivant le sens du delete.
Est-ce que quelqu'un aurait une idée pour faire une suppression plus propre d'une relation many-to-many ?
Est-ce que la manière décrite plus haut est correct en Hibernate 3 ?
Merci d'avance


Top
 Profile  
 
 Post subject: Re: Delete pour un many-to-many
PostPosted: Mon May 09, 2011 11:57 am 
Newbie

Joined: Tue Apr 19, 2011 2:41 am
Posts: 2
Petit up.
Personne n'aurait une suggestion ou une idée car là je sèche un peu.
Pour compléter mon post d'avant je précise que la solution ne fonctionne que si les entité sont à lazy true.
Dans le cas contraire la mécanique mise en place créer un appel récursif qui aboutit à un joli StackOverflowError.


Top
 Profile  
 
 Post subject: Re: Delete pour un many-to-many
PostPosted: Fri Jun 24, 2011 5:19 am 
Newbie

Joined: Fri Jun 24, 2011 5:09 am
Posts: 2
Bonjour,

J'ai un peu le même problème, personne n'a de solutions ?

Merci d'avance pour vos réponses,


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 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.