In order to return a set of customers that have orders, can I confirm that the following two queries are correct. One thing that I'd like to be 100% sure is that in (a), if c.orders is empty, then no customer will be returned.
(a) SELECT DISTINCT OBJECT (c) FROM Customer c, IN (c.orders) o
(b) SELECT DISTINCT OBJECT (c) FROM Customer c WHERE c.orders IS NOT EMPTY
Both the queries are correct and will return the same result. Refering to the IN clause in HF EJB, for (a) query, it has been defined that return all the customers who has some orders which is same as (b) which says return all the customers whos corresponding orders are non-empty.