13.4.7. コレクションメンバーの参照について
コレクション値の関連付けへの参照は、実際にはそのコレクションの値を参照します。
例13.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'
この例では、識別変数
o は実際には、Customer#orders 関連付けの要素タイプであるオブジェクトモデルタイプ Order を参照します。
この例では、
IN 構文を使用してコレクションの関連付けジョインを指定する代替構文も示しています。両方の形式は同じです。アプリケーションの選択を選択するのは、単に好みの問題です。