This requires Cayenne 3.0 and EJBQLQuery with subquery. Something like
this might work:
new EJBQLQuery(
"SELECT a FROM Artist a " +
"WHERE NOT EXISTS " +
"(SELECT p FROM Painting p WHERE p.color <> 'XYZ')";
Andrus
On Jan 7, 2010, at 2:32 AM, Mark Fraser wrote:
> Suppose I have an Artists table and a Paintings table with the usual
> setup
> of the Artist class having a PAINTINGS_ARRAY property. Suppose
> further that
> the painting has a "color" property that can be a string or null.
>
> How would I build an Expression such that I get back the Artists
> that have
> either no paintings or only paintings with a specific color value
> (or a null
> color value)?
>
> I am using Cayenne 2.0.4 in case that matters.
>
> TIA
This archive was generated by hypermail 2.0.0 : Sun Jan 10 2010 - 06:52:49 EST