Ich komm irgendwie mit meiner Datenbankabfrage (JDBC, PostgreSQL) nicht weiter.
Und zwar möchte ich 2 Tabellen miteinander verbinden und abfragen. Eine Tabelle person mit Personendaten (ID, Nachname, Vorname…), in welcher auch 2 int-Werte (Fremdschlüssel zur anderen Tabelle User) für User-IDs sind, welche die Person angelegt bzw. zuletzt geändert haben.
Die Daten aus der Datenbanktabelle person sollen ausgelesen und in ein Objekt der Klasse Person geschreiben werden.
Bisher hatte ich in meiner Person-Klasse einfach die beiden int-Werte als Felder, und zu diesen dann erst später die jeweiligen User-Daten aus der DB geholt, wenn diese gebraucht wurden. Nun kam ich nach einem Hinweis im Forum auf die Idee, in der Person-Klasse die beiden int-Felder (mit den User-IDs) gegen User-Objekte auszutauschen, so dass diese User-Daten direkt mit in der Person-Klasse vorhanden sind.
Wenn ich nur 1 User-Feld hätte, könnte ich einfach einen JOIN mit den beiden Tabellen machen und über Fremdschlüssel in person mit Primärschlüssel in user verbinden. Aber ich hab ja 2 User-Felder (angelegt und zuletzt geändert), die auch unterschiedlich sein können. Und die beiden User muss ich ja anhand der jeweiligen ID aus der Tabelle User holen.
Geht das irgendwie mit einer Abfrage und einem JOIN, oder muss ich da mehrere Abfragen an die DB schicken? Also zuerst die beiden UserIDs holen und mit diesen dann jeweils nochmal eine SQL-Abfrage losschicken, um an die Userdaten zu kommen? Mit Subselects kann ich ja immer nur nach 1 Spalte in der Tabelle User fragen, d.h. da die Tabelle User mehrere Spalten hat (etwa 10), müsste ich 20 Subselects einbauen. Das kommt mir etwas umständlich vor.
Oder ist das mit den User-Objekten im meiner Person-Klasse grundsätzlich nicht so gut und ich sollte lieber wieder zu den int-Werten wechseln?
Ich hoffe, ich hab mein Problem einigermassen verständlich geschildert (ansonstne fragt halt nochmal nach), und es kann mir hier jemand weiterhelfen.