DarthShader
Erfahrenes Mitglied
Hallo,
ich bin zur Zeit dabei, mich in Hibernate einzuarbeiten. Ich bin zwar noch blutiger Anfänger, doch verstehe ich schon einige grundlegende Konzepte von Hibernate. Dennoch bin ich gerade etwas verwirrt, wegen folgendem Beispiel:
Sagen wir, wir haben eine Typische Kundentabelle und Bestelltabelle. Ein Kunde kann mehrere Bestellungen haben, also eine typische 1:N Beziehung.
Die Dokumentation erklärt mir nun, dass ich 2 Klassen habe, eine für einen Kunden, eine für eine Bestellung. Dabei hat die Bestellung eine Referenz (Fremdschlüssel) auf den Kunden. So ist dies auch in den Java Klassen umgesetzt: es gibt ein "kunde_id" Feld in der Klasse, in dem die id des Kunden steht.
Allerdings hätte ich nun gedacht, rein objektorientiert, dass die Kunden-Klasse eine Liste vom Typ Bestellung besitzt (z.B. "private ArrayList< Bestellung > bestellungen;"), und Hibernate das entsprechend mappen kann. Geht sowas nicht? Ich kann also mit den gemappten Klassen nicht so intuitiv umgehen, wie es sonst (ohne Hibernate) der Fall wäre? Die Klassen haben also niemals echte Java Referenzen aufeinander, sondern die Beziehung läuft immer über die id (Primärschlüssel) der Klasse? Oder ist es doch möglich, solche Listen so zu mappen, dass Hibernate einen entsprechenden Fremdschlüssel in einer anderen Tabelle nutzt?
Danke für Eure Hilfe!
ich bin zur Zeit dabei, mich in Hibernate einzuarbeiten. Ich bin zwar noch blutiger Anfänger, doch verstehe ich schon einige grundlegende Konzepte von Hibernate. Dennoch bin ich gerade etwas verwirrt, wegen folgendem Beispiel:
Sagen wir, wir haben eine Typische Kundentabelle und Bestelltabelle. Ein Kunde kann mehrere Bestellungen haben, also eine typische 1:N Beziehung.
Die Dokumentation erklärt mir nun, dass ich 2 Klassen habe, eine für einen Kunden, eine für eine Bestellung. Dabei hat die Bestellung eine Referenz (Fremdschlüssel) auf den Kunden. So ist dies auch in den Java Klassen umgesetzt: es gibt ein "kunde_id" Feld in der Klasse, in dem die id des Kunden steht.
Allerdings hätte ich nun gedacht, rein objektorientiert, dass die Kunden-Klasse eine Liste vom Typ Bestellung besitzt (z.B. "private ArrayList< Bestellung > bestellungen;"), und Hibernate das entsprechend mappen kann. Geht sowas nicht? Ich kann also mit den gemappten Klassen nicht so intuitiv umgehen, wie es sonst (ohne Hibernate) der Fall wäre? Die Klassen haben also niemals echte Java Referenzen aufeinander, sondern die Beziehung läuft immer über die id (Primärschlüssel) der Klasse? Oder ist es doch möglich, solche Listen so zu mappen, dass Hibernate einen entsprechenden Fremdschlüssel in einer anderen Tabelle nutzt?
Danke für Eure Hilfe!