11.4.7. About Collection Member References
References to collection-valued associations actually refer to the values of that collection.
Example 11.8. Collection References Example
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'
In the example, the identification variable
o
actually refers to the object model type Order
which is the type of the elements of the Customer#orders
association.
The example also shows the alternate syntax for specifying collection association joins using the
IN
syntax. Both forms are equivalent. Which form an application chooses to use is simply a matter of taste.