If I run these two queries seperately, they find more records than if I "orExp" together the qualifiers. Tested on SQL server & MS Access, same result. ================================================= // This Java code will result in the SQL query immediately below... SelectQuery query1=new SelectQuery(ElcRole.class); query1.setQualifier(ExpressionFactory.matchExp(ElcRole.ELC_ROLEMEMBER_ARRAY_PROPERTY + "." + ElcRolemember.TO_SYS_USER_PROPERTY, getSysUser())); List l=context.performQuery(query1); return l; SELECT DISTINCT t0.ELCROLE_NAME, t0.ELCROLE_ID, t0.SYSUSER_ID FROM ELC_ROLE t0, ELC_ROLEMEMBER t1 WHERE t0.ELCROLE_ID = t1.ELCROLE_ID AND (t1.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881') ELCROLE_NAME ELCROLE_ID SYSUSER_ID Prosesseier E7BE040B-F0E3-4ecf-88A6-4B81BF7AE865 Saksbehandler HMS 0636F7A4-006B-4926-873F-B5CF888F239C Saksbehandler Innkjøp E5DED96B-5F93-4575-85A4-1C14D94B9744 Saksbehandler Lager 48461B6C-791B-11d4-8792-00508BCE14E0 FF3C97BB-8899-444c-8C6E-91E64D087E86 // This Java code will result in the SQL query immediately below... SelectQuery query1=new SelectQuery(ElcRole.class); query1.setQualifier(ExpressionFactory.matchExp(ElcRole.TO_SYS_USER_PROPERTY, getSysUser())); List l=context.performQuery(query1); return l; SELECT t0.ELCROLE_NAME, t0.ELCROLE_ID, t0.SYSUSER_ID FROM ELC_ROLE t0 WHERE t0.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881' ELCROLE_NAME ELCROLE_ID SYSUSER_ID Saksbehandler Drift/Vedlikehold 04190624-7503-11d4-9078-00508BD89D95 BD93F348-8C02-4742-BA97-2456E5CD3881 Saksbehandler Produksjon 04190625-7503-11d4-9078-00508BD89D95 BD93F348-8C02-4742-BA97-2456E5CD3881 Testrolle 4 07AF23BD-7DCA-41cc-9268-A4A08CF0B2DF BD93F348-8C02-4742-BA97-2456E5CD3881 Testrolle 2 A5E8553F-BB4D-4158-BA53-D8F206817938 BD93F348-8C02-4742-BA97-2456E5CD3881 Saksbehandler Forespørsel A5F7E0D8-E204-478f-A7A4-DCC07C712673 BD93F348-8C02-4742-BA97-2456E5CD3881 Testrolle 1 AEBEDF2E-2656-4733-99A7-2EAC231DE379 BD93F348-8C02-4742-BA97-2456E5CD3881 Testrolle 3 B90B4CCB-43EA-4187-B139-4138041A2F8D BD93F348-8C02-4742-BA97-2456E5CD3881 Saksbehandler Transport E17775E2-897A-41d3-8CC0-D96E24E15DE7 BD93F348-8C02-4742-BA97-2456E5CD3881 Does not find "Testrolle 4" =========================== // This Java code will result in the SQL query immediately below... SelectQuery query1=new SelectQuery(ElcRole.class); query1.setQualifier(ExpressionFactory.matchExp(ElcRole.ELC_ROLEMEMBER_ARRAY_PROPERTY + "." + ElcRolemember.TO_SYS_USER_PROPERTY, getSysUser()). orExp(ExpressionFactory.matchExp(ElcRole.TO_SYS_USER_PROPERTY, getSysUser()))); List l=context.performQuery(query1); SELECT DISTINCT t0.ELCROLE_NAME, t0.ELCROLE_ID, t0.SYSUSER_ID FROM ELC_ROLE t0, ELC_ROLEMEMBER t1 WHERE t0.ELCROLE_ID = t1.ELCROLE_ID AND ((t1.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881') OR (t0.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881')) ELCROLE_NAME ELCROLE_ID SYSUSER_ID Prosesseier E7BE040B-F0E3-4ecf-88A6-4B81BF7AE865 Saksbehandler Forespørsel A5F7E0D8-E204-478f-A7A4-DCC07C712673 BD93F348-8C02-4742-BA97-2456E5CD3881 Saksbehandler HMS 0636F7A4-006B-4926-873F-B5CF888F239C Saksbehandler Innkjøp E5DED96B-5F93-4575-85A4-1C14D94B9744 Saksbehandler Lager 48461B6C-791B-11d4-8792-00508BCE14E0 FF3C97BB-8899-444c-8C6E-91E64D087E86 Saksbehandler Produksjon 04190625-7503-11d4-9078-00508BD89D95 BD93F348-8C02-4742-BA97-2456E5CD3881 Saksbehandler Transport E17775E2-897A-41d3-8CC0-D96E24E15DE7 BD93F348-8C02-4742-BA97-2456E5CD3881 Hmmm.... I think the SQL should have been a LEFT OUTER JOIN, but Cayenne does not support OUTER JOINs. Is OUTER JOIN a red herring here? SELECT DISTINCT t0.ELCROLE_NAME, t0.ELCROLE_ID, t0.SYSUSER_ID FROM ELC_ROLE t0 LEFT OUTER JOIN ELC_ROLEMEMBER t1 ON t0.ELCROLE_ID = t1.ELCROLE_ID WHERE (t1.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881') OR (t0.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881') => Prosesseier E7BE040B-F0E3-4ecf-88A6-4B81BF7AE865 Saksbehandler Drift/Vedlikehold 04190624-7503-11d4-9078-00508BD89D95 BD93F348-8C02-4742-BA97-2456E5CD3881 Saksbehandler Forespørsel A5F7E0D8-E204-478f-A7A4-DCC07C712673 BD93F348-8C02-4742-BA97-2456E5CD3881 Saksbehandler HMS 0636F7A4-006B-4926-873F-B5CF888F239C Saksbehandler Innkjøp E5DED96B-5F93-4575-85A4-1C14D94B9744 Saksbehandler Lager 48461B6C-791B-11d4-8792-00508BCE14E0 FF3C97BB-8899-444c-8C6E-91E64D087E86 Saksbehandler Produksjon 04190625-7503-11d4-9078-00508BD89D95 BD93F348-8C02-4742-BA97-2456E5CD3881 Saksbehandler Transport E17775E2-897A-41d3-8CC0-D96E24E15DE7 BD93F348-8C02-4742-BA97-2456E5CD3881 Testrolle 1 AEBEDF2E-2656-4733-99A7-2EAC231DE379 BD93F348-8C02-4742-BA97-2456E5CD3881 Testrolle 2 A5E8553F-BB4D-4158-BA53-D8F206817938 BD93F348-8C02-4742-BA97-2456E5CD3881 Testrolle 3 B90B4CCB-43EA-4187-B139-4138041A2F8D BD93F348-8C02-4742-BA97-2456E5CD3881 Testrolle 4 07AF23BD-7DCA-41cc-9268-A4A08CF0B2DF BD93F348-8C02-4742-BA97-2456E5CD3881