Hey,... ich bin gerade dabei meine Persistenzschicht(Hibernate) fertigzustellen und stehe nun vor folgendem Problem
ich hab eine 2 Tabellen, welche Bidirektional 1:N verknüpft sind,....
Meine Entities sehen wie folgt dazu aus:
Tabelle 1:
PK
KundeID
FirmenID
OneToMany...
List<Tabelle2>
Tabelle 2:
PK
Datum
ManyToOne...
Tabelle1
KundeID/FirmenID können in beliebiger Kombination stehen, daher kann eins der beiden öfter vorkommen etc.
Leider sind überall immer nur triviale Anfragemöglichkeiten aufgelistet, daher möchte ich zu folgender Anfrage wissen, was sich eher lohnt bzw. besser ist (auch rein lerntechnisch gesehen
)
Die Anfrage: Gib mir alle Tabelle 2 Datensätze mit dem Datum XY, die zu dem Kunden Z gehören.
Lösung A:
Ich mach eine Abfrage auf Tabelle 1 und hole mir damit alle PKs, wo der User vorkommt und gehe damit auf Tabelle 2 und hole mir alle Datensätze, wo die PKs, die ich brauche vorkommen. (Also alle Anfragen auf die DB bezogen)
Lösung B:
Ich hol mir eine Anfrage auf Tabelle1 und habe somit auch direkt die Liste, dann laufe ich mit einer Schleife über die List und sortiere auf "JAVA"- Ebene aus. (das wären dann doch weniger DB Zugriffe, die wohl mehr "kosten" als eine Sortierung auf JAVA- Ebene oder sehe ich das falsch?
Danke schon mal für eure Antworten
ps. ich hoffe, ich werde jetzt nicht gelyncht,...
ich hab eine 2 Tabellen, welche Bidirektional 1:N verknüpft sind,....
Meine Entities sehen wie folgt dazu aus:
Tabelle 1:
PK
KundeID
FirmenID
OneToMany...
List<Tabelle2>
Tabelle 2:
PK
Datum
ManyToOne...
Tabelle1
KundeID/FirmenID können in beliebiger Kombination stehen, daher kann eins der beiden öfter vorkommen etc.
Leider sind überall immer nur triviale Anfragemöglichkeiten aufgelistet, daher möchte ich zu folgender Anfrage wissen, was sich eher lohnt bzw. besser ist (auch rein lerntechnisch gesehen
Die Anfrage: Gib mir alle Tabelle 2 Datensätze mit dem Datum XY, die zu dem Kunden Z gehören.
Lösung A:
Ich mach eine Abfrage auf Tabelle 1 und hole mir damit alle PKs, wo der User vorkommt und gehe damit auf Tabelle 2 und hole mir alle Datensätze, wo die PKs, die ich brauche vorkommen. (Also alle Anfragen auf die DB bezogen)
Lösung B:
Ich hol mir eine Anfrage auf Tabelle1 und habe somit auch direkt die Liste, dann laufe ich mit einer Schleife über die List und sortiere auf "JAVA"- Ebene aus. (das wären dann doch weniger DB Zugriffe, die wohl mehr "kosten" als eine Sortierung auf JAVA- Ebene oder sehe ich das falsch?
Danke schon mal für eure Antworten
ps. ich hoffe, ich werde jetzt nicht gelyncht,...
Zuletzt bearbeitet: