-->
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.  [ 4 posts ] 
Author Message
 Post subject: many-to-many | Problem beim speichern...
PostPosted: Thu Mar 16, 2006 9:24 am 
Newbie

Joined: Wed Feb 01, 2006 9:44 am
Posts: 7
Hi,

ich habe zwei klassen: Benutzer.cs und Gruppe.cs und in der DB habe ich drei Tabellen: benutzer, gruppe und gruppenmitglieder(die tabelle gruppenmitglieder hat zwei spalten: id_benutzer und id_gruppe)

in der Benutzer.hbm.xml steht unter anderem:
Code:
    <set name="Gruppen" table="gruppenmitglieder" inverse="true">
      <key column="id_benutzer"/>
      <many-to-many column="id_gruppe" class="NHibTest.Gruppe, NHibTest"/>
    </set>


in der Gruppe.hbm.xml steht unter anderem:
Code:
    <set name="Benutzer" table="gruppenmitglieder">
      <key column="id_gruppe"/>
      <many-to-many column="id_benutzer" class="NHibTest.Benutzer, NHibTest"/>
    </set>


Das klappt beim laden auch alles wunderbar. wenn ich z. B. eine Gruppe lade dann lädt nhibernate die entsprechende Benutzerliste - also die Benutzer die in dieser Gruppe eingetragen sind - auch mit. Und umgekehrt geht das auch, d. h. wenn ich einen Benutzer lade dann lädt nhibernate die Gruppen, in der dieser Benutzer drin ist, automatisch mit....

Das problem ist nur, dass das ganze rückwärts, also beim speichern nicht funktioniert!!!

Ich erstelle z. B. ein Objekt vom typ Gruppe, erstelle eine Objekt vom typ Benutzer und weise das Gruppen-Objekt der Auflistung(SortedSet) des Benutzers hinzu...nun speichere ich das Benutzer-Objekt...resultat ist, dass nur der Benutzer in die DB gespeichert wird und die Einträge der anderen beiden Tabellen nicht eingetragen werden!!!

Was mache ich falsch? Kannst mir bitte jemand ?? Danke

mfG
yesso
>


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 16, 2006 12:43 pm 
Regular
Regular

Joined: Tue Mar 07, 2006 11:18 am
Posts: 54
Location: Berlin
Hallo,
füge doch mal zu deinem many-to-many ein cascade="persist" oder auch cascade="all" hinzu.

Mehr gibts hier:
http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#objectstate-transitive

gruß simon


Top
 Profile  
 
 Post subject:
PostPosted: Sat Mar 18, 2006 8:17 am 
Regular
Regular

Joined: Tue Jan 03, 2006 9:52 am
Posts: 52
Location: Zurich
Quote:
Ich erstelle z. B. ein Objekt vom typ Gruppe, erstelle eine Objekt vom typ Benutzer und weise das Gruppen-Objekt der Auflistung(SortedSet) des Benutzers hinzu...nun speichere ich das Benutzer-Objekt...resultat ist, dass nur der Benutzer in die DB gespeichert wird und die Einträge der anderen beiden Tabellen nicht eingetragen werden!!!


Fügst du der Gruppe auch den Benutzer hinzu? Vielleicht fehlt dierser Code Teil.

Gruss Urs


Top
 Profile  
 
 Post subject:
PostPosted: Sun Mar 19, 2006 8:23 pm 
Newbie

Joined: Mon Mar 06, 2006 7:02 pm
Posts: 4
Gruppe ist invers. Dass heisst, alle Benutzer-Einträge in der Klasse Gruppe werden nicht gespeichert. (Les dir mal die Doku zu invers durch) Du musst die Gruppen in der Klasse Benutzer hinzufügen, damit diese gespeichert werden.


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