cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrey Razumovsky <razumovsky.and...@gmail.com>
Subject Re: Expression help
Date Sun, 10 Jan 2010 12:08:58 GMT
Or you can use left joins:
ExpressionFactory.matchExp("paintingsArray+.color",
null).orExp(ExpressionFactory.matchExp("paintingsArray+.color", blue));

2010/1/10 Andrus Adamchik <andrus@objectstyle.org>

> 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
>>
>
>


-- 
Andrey

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message