You need to create an outer join.
http://cayenne.apache.org/doc/path-expressions.html
On 24/08/10 9:05 PM, Victor Antonovich wrote:
> Hello!
>
> My (simplified) Cayenne scheme has two kind of objects - Role's and Group's with many-to-many (flattened) relationships. Main task is to check is this Role member of some Group (i.e. 'Active') while it is not member of another group (i.e. 'Admin'). Aliased query expression looks like:
>
> ((a.name='Active') and (not (a.name='Admin')))
>
> where `a` is alias for `role.groups` to-many relationship to Group entities.
>
> But this query doesn't work as expected - roles in 'Admin' group will be returned. This is because DB query with double-joined Group table selects record with self-joined 'Active' group name.
>
> So question is simple - is there any way to do such queries?
>
> Thanks,
> Victor.
-- --------------------------> Aristedes Maniatis GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A
This archive was generated by hypermail 2.0.0 : Tue Aug 24 2010 - 12:06:17 UTC