この例のインターフェース・クラスで使用する Dept1 クラスには、ORGANIZATION 表からのデータが入ります。
この例のインライン SQL 照会で使用する Dept2 クラスには、ORGANIZATION 表からのデータが入ります。
Emp クラスでは、EMPLOYEE 表と EMPLOYEE_HISTORY 表からデータを取り出します。 Emp クラスで定義する Emp Bean は、Dept1 Bean と Dept2 Bean の子 Bean になります。
ワークベンチから、pureQuery サポートが有効になった Java™ プロジェクトで、この例の JUnit テストを実行できます。 テストにより、ネストされた Bean が作成され、Bean の内容が表示されます。
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;
EMPLOYEE_HISTORY 表には、1 人の従業員のレコードが複数入っている場合もあります。
現在の従業員情報には終了日付がありません。
AND EH.RECORD_END_DATE IS NULL という述部で照会に制限をかければ、現在の従業員の履歴だけを返すことができます。この例で使用している GSDB データベースとそれぞれの表については、pureQuery のネストされた Bean のサンプルでアクセスする表を参照してください。