Zusammengesetzter Primärschlüssel Joinen

bartulovic

Grünschnabel
Hallo ich nutze JPA in Verbindung mit Hibernate.

Ich möchte 3 Tabellen in einem Objekt abbilden, ohne neue Objekte anlegen zu müssen.

Jede der Tabellen betseht aus einem Zusammengesetzten Primärschlüssel.

Ein Beispiel:

Tabelle 1: user
pk: nummer
pk: name
adresse

Tabelle 2: poster
pk: nummer
pk: name
pk: postcountid
postcount

tabelle 3: posts
pk: nummer
pk: name
pk: postcountid
posts


Evt is das Beispiel ja doof, aber soetwas habe ich in etwa.
Wie kann mand as am betsen Lösen
@secondarytable mit ganz vielen pkjoincolumns?
 
DIe Ids werden doch einfach in eine IdKlasse gegossen und per Annotation bekannt gemacht.

Dann kannst du im Query einfach poster.id = posts.id machen.

Gruß
Ollie
 
Eine Klasse aus eine Join? Sorry, versteh ich nicht. Für zusammengesetzte Primärschlüssel benötigst du allerdings auf jeden Fall eine separate Klasse.

Gruß
Ollie
 
also ich habe einen großen select der 3 tabellen joint, jede tabelle besteht aus einem zusammengesetzten primärschlüssel.

da ich nun auf hibernate migrieren möchte würde ich diesen select gerne als klasse abbilden.
ist es nun was besser? ;)
 
Nicht ganz: nochmal - um die Extraklassen für die Primärschlüssel kommst du nicht herum. Du musst den SELECT dann in JPA Querylanguage neu formulieren. Dabei kannst du dann den Primärschlüssel als solches einfach über posts.id bzw. poster.id referenzieren oder halt poster.id.nummer auch in Einzelteilen.

Bevor wir wir allerdings weiter Wolken diskutieren, ist es sicher sinnvoll du wirfst mal einen Blick in die JPA Spec / Doku, insbesondere wie Schlüssel über mehrere Spalten und NamedQueries deklariert werden. =)

Gruß
Ollie
 
Zurück