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

Reply via email to