-->
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: Relation über 3 Tabellen
PostPosted: Fri May 19, 2006 11:59 am 
Beginner
Beginner

Joined: Fri May 19, 2006 11:34 am
Posts: 29
Hallo miteinander,

im Moment setze ich mich mit Hibernate auseinander. An für sich ist es ja auch eine feine Sache. Nur jetzt stehe ich vor einem Problem, bei dem ich nicht weiss, wie ich es lösen kann.

Ich habe 3 Tabellen A, B und C. Jeder dieser Tabellen besitzt seinen eigenen Primärschlüssel. In einer weiteren Relation D sollen diese 3 Tabellen zusammengebracht werden. Die Primärschlüssel von A und B sind ebenfalls Primärschlüssel in der Relation D. Die Belegung von C in D ist jedoch nicht zwingend.

Die Relation D stellt also eine many-to-many-Relation dar zwischen allen 3 beteiligten Tabellen.

Ich kann nun in allen 3 Tabellen je eine Liste der zugehörigen Elemente aus D anzeigen. Nur leider funktioniert ein kaskadierendes Speichern nicht, d.h. sobald ich an eine Liste mit Elementen in A ein neues Element D hänge, und speichern will, klappt das nicht.

Ich denke, dass es mit der Schlüsselangabe des bag-Elementes zu tun hat. Leider weiss ich nicht, wie ich alle 3 beteiligten Tabellen in der many-to-many-Relation unterbringen kann.

Vielen Dank bereits im Vorraus für Lösungsansätze!

Viele Grüsse und ein schönes Wochenende
Kai


Top
 Profile  
 
 Post subject:
PostPosted: Tue May 23, 2006 7:32 am 
Expert
Expert

Joined: Tue Nov 23, 2004 7:00 pm
Posts: 570
Location: mostly Frankfurt Germany
Schau mal in die Hibernate Reference zum Thema
composite-id und key-many-to-one

Gruß Sebastian

_________________
Best Regards
Sebastian
---
Training for Hibernate and Java Persistence
Tutorials for Hibernate, Spring, EJB, JSF...
eBook: Hibernate 3 - DeveloperGuide
Paper book: Hibernate 3 - Das Praxisbuch
http://www.laliluna.de


Top
 Profile  
 
 Post subject: Meine Lösung
PostPosted: Wed May 24, 2006 4:04 am 
Newbie

Joined: Sat Sep 24, 2005 10:44 am
Posts: 12
Location: Berlin, Germany
hi

Du hast also 4 Tabellen, wobei die Tabelle D Referenzen auf die anderen enthält.

Meine Lösung für die Tabelle D wäre ein mapping der Tabelle D ohne many-to-many. Ich denke, was du haben willst ist keine
Quote:
many-to-many
Beziehung sondern eine
Quote:
many-to-many-to-many
Beziehung.
Code:
<class name="D" table="d" >
     <id name="id" column="id" unsaved-value="-1"  >
       <generator class="native">
          <param name="sequence">id_sequenz</param><!-- oder etwas anderes -->
       </generator>
     </id>

    <properties name="name" unique="true">
         <many-to-one name="a" class="A" column="ref_to_a"  />
         <many-to-one name="b" class="A" column="ref_to_b"  />
         <many-to-one name="c" class="A" column="ref_to_c"  not-found="ignore" />
    </properties>

</class>


martin


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 29, 2006 11:38 am 
Beginner
Beginner

Joined: Fri May 19, 2006 11:34 am
Posts: 29
@martin, dein Vorschlag sieht ziemlich interessant aus. Mal schauen, ob das klappt...

@sebastian, die Sache composite-ID hatte ich mir angeschaut, nur irgendwie wollte das nicht so ganz wie ich... Vielleicht doch noch mal genauer schauen...

Danke und viele Grüsse
Kai


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.