In diesem Beispiel gibt die SQL-Abfrage Abteilungs- und Mitarbeiterinformationen aus der DB2-Datenbank GSDB zurück. Das Beispiel erstellt verschachtelte pureQuery-Beans, um Mitarbeiterinformationen abteilungsweise zu organisieren. Die Bean der höchsten Ebene ist die Abteilungsbean Dept, die eine Liste von Emp-Beans enthält.
Die Klasse Dept1, die mit der Beispielschnittstellenklasse verwendet wird, enthält Daten aus der Tabelle ORGANIZATION.
Die Klasse Dept2, die mit der Inline-SQL-Beispielabfrage verwendet wird, enthält Daten aus der Tabelle ORGANIZATION.
Die Klasse Emp ruft Daten aus den Tabellen EMPLOYEE und EMPLOYEE_HISTORY ab. Die Klasse Emp definiert die Bean Emp, eine untergeordnete Bean der Beans Dept1 und Dept2.
SELECT E.EMPLOYEE_CODE, E.FIRST_NAME, E.LAST_NAME, E.DATE_HIRED, ORG.ORGANIZATION_CODE, ORG.ORGANIZATION_NAME_EN FROM EMPLOYEE AS E, EMPLOYEE_HISTORY AS EH, ORGANIZATION AS ORG WHERE EH.EMPLOYEE_CODE = E.EMPLOYEE_CODE AND EH.ORGANIZATION_CODE = ORG.ORGANIZATION_CODE AND EH.RECORD_END_DATE IS NULL ORDER BY ORGANIZATION_CODE, E.LAST_NAME;Die Tabelle EMPLOYEE_HISTORY kann für einen Mitarbeiter mehrere Einträge enthalten. Die aktuellen Mitarbeiterinformationen haben kein Enddatum. Das Vergleichselement AND EH.RECORD_END_DATE IS NULL schränkt die Abfrage so ein, dass nur das aktuelle Mitarbeiterprotokoll zurückgegeben wird.
Informationen zur Datenbank GSDB und den in diesem Beispiel verwendeten Tabellen finden Sie in Tabellen, auf die das Beispiel verschachtelter pureQuery-Beans zugreift.