It's a bug in Cayenne. I just opened a Jira: https://issues.apache.org/jira/browse/CAY-2037 . While we are working on fixing it, there's a woraround described in Jira - if possible use a unique attribute of the target object inside COUNT. E.g. a.shop.name (if no such attribute exists, map ID as an ObjAttribute, and use that).
Andrus > On Oct 30, 2015, at 2:45 PM, Hugi Thordarson <h...@karlmenn.is> wrote: > > Hi all, and a very happy Friday to you. > > How would I go about counting distinct related objects using EJBQL? If I want > to count the number of “Shops" related to “Receipts", I’d expect to be able > to do use EJBQL like this, which works fine for regular attributes: > > SELECT count(distinct a.shop) FROM Receipt a > > However, this generates the incorrect SQL > > SELECT COUNT(DISTINCT *) AS sc0 FROM smu.fd_receipt t0 INNER JOIN smu.fd_shop > t1 ON (t0.shop_id = t1.id) > > Any ideas? I’m using the 4.0M3-SNAPSHOT release. > > Cheers, > - hugi