7 Stimmen

JPA left join zum Auffinden ungenutzter Einträge

Ich bin sicher, dass ich mich dumm anstelle, aber ich werde aus dieser Frage nicht schlau.

Ich habe zwei Tabellen:

Abteilung( did, name ) employee( eid, first, last, did )

sie haben entsprechende Entitäten JPA verwaltete Entitäten Abteilung und Mitarbeiter. Employee hat ein Feld Deparment, Department unterhält keine Mitarbeiterliste. Ich möchte jedoch alle Abteilungen finden, die keine Mitarbeiter haben. Mit einfachem, altem SQL ist dies mit einer linken Verknüpfung leicht möglich:

SELECT d.* 
FROM department as d LEFT OUTER JOIN employee as e
ON d.did = e.did
WHERE e.did IS NULL

Ich weiß allerdings nicht, wie ich diese Abfrage in JPQL übersetzen soll. Alle Beispiele, die ich für JPQL Links-Joins gefunden habe, durchlaufen den Link in die andere Richtung, zum Beispiel.

SELECT e FROM Employee e LEFT JOIN e.departmert d

Ich hingegen benötige eher etwas wie

SELECT d FROM Department d LEFT JOIN d.???? WHERE e.department IS NULL

aber die Abteilung hat keinen Bezug zu ihren Mitarbeitern (in meiner Anwendung sind es natürlich nicht Abteilungen und Mitarbeiter). Ist das in JPQL überhaupt möglich?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X