11.4.7. コレクションメンバーの参照
コレクション値 (collection-valued) アソシエーションへの参照は、実際はコレクションの値を参照します。
例11.8 コレクション参照の例
select c
from Customer c
join c.orders o
join o.lineItems l
join l.product p
where o.status = 'pending'
and p.status = 'backorder'
// alternate syntax
select c
from Customer c,
in(c.orders) o,
in(o.lineItems) l
join l.product p
where o.status = 'pending'
and p.status = 'backorder'
この例では、
Customer#orders アソシエーションの要素タイプであるオブジェクトモデルタイプ Order を ID 変数 o が実際に参照します。
更にこの例には、
IN 構文を使用してコレクションアソシエーション結合を指定する代替の構文があります。構文は両方同等です。アプリケーションが使用する構文は任意に選択できます。