Dans cet exemple, la requête SQL renvoie les informations de département et d'employé depuis DB2 Database GSDB. L'exemple crée des beans imbriqués pureQuery pour organiser les informations sur les employés par département. Le bean de niveau supérieur est le bean Dept qui contient une liste des beans Emp.
La classe Dept1 qui est utilisée avec l'exemple de classe d'interface contient des données de la table ORGANIZATION.
La classe Dept2 qui est utilisée avec l'exemple de requête SQL intégrée contient des données de la table ORGANIZATION.
La classe Emp récupère les données des tables EMPLOYEE et EMPLOYEE_HISTORY. La classe Emp définit le bean Emp qui est le bean enfant des beans Dept1 et 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;
La table EMPLOYEE_HISTORY
peut contenir plusieurs enregistrements pour un employé. Les informations
sur l'employé en cours n'ont pas de date de fin. Le prédicat AND EH.RECORD_END_DATE
IS NULL empêche la requête de renvoyer uniquement l'historique
de l'employé en cours. Pour plus d'informations sur la base de données GSDB et les tables qui sont utilisées dans cet exemple, voir Tables auxquelles l'exemple de beans imbriqués pureQuery accède.