10.4.6. コレクションメンバーの参照について
コレクション値 (collection-valued) アソシエーションへの参照は、実際はコレクションの値を参照します。
例10.5 コレクション参照の例
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 構文を使用してコレクションアソシエーション結合を指定する代替の構文があります。構文は両方同等です。アプリケーションは好きな構文を選択します。