2016-06-29 7 views
0

Ich habe eine Datenbank mit Managern und Mitarbeitern, wo ein Manager viele Mitarbeiter haben kann oder keiner, und jeder Mitarbeiter kann nur einen Manager haben. Gibt es eine Möglichkeit, die Datenbank abzufragen, um eine Karte wie Karte < Manager, Liste < Mitarbeiter>>?HQL Abfrage eins-zu-viele-Beziehung in einer Karte gespeichert

Ich weiß, ich könnte eine Schleife erstellen, die jeweils einen Manager abfragt und eine Liste ihrer Mitarbeiter zurückgibt, die das in der Karte speichert, aber bei einer großen Datenbank wäre das extrem ineffizient.

Ich weiß, wenn ich einen Manager zu einem Zeitpunkt passieren konnte ich wie

SELECT m.managerName, e.employeeName FROM Manager m NATURAL RIGHT OUTER JOIN employee e WHERE m.managerName = ''; 

eine äußere rechte Abfrage schreiben, aber diese in einer Schleife setzen zu lange dauern würde. Vielen Dank für Ihre Hilfe.

Antwort

0

Gibt es eine Möglichkeit, die Datenbank abzufragen, um eine Karte wie Karte < Manager, Liste < Mitarbeiter>>?

Ich gehe davon aus, Sie brauchen eine Karte, um die Mitarbeiter der einzelnen Manager zu bekommen? Haben Sie das One-to-Many-Mapping vom Manager an die Mitarbeiter ausprobiert? Dann hat jede Managereinheit ihre eigene Liste von Mitarbeitern.

Zum Beispiel - http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/