cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marek Šabo <>
Subject Re: Dynamic SQL object query
Date Sun, 21 Nov 2010 16:18:51 GMT

>> SELECT #result('COUNT(id)' 'Long' 'count')
>> from User #chain('AND' 'WHERE') #chunk($userId) id = #bind($userId) #end #chunk($userName) LIKE $userName #end #end
>> becuase of "" which is object-style. So my first question is whether
there is a way of accomplishing this with EJBQL so I don't have to work with joins there.
> Yeah, something like this should work:
> SELECT COUNT(a) FROM User a WHERE = :userId AND like :userName

I played around with this a little bit and I have encountered 2 problems:

1) When 'id' is not object-mapped ejbql complains about invalid path, I 
found only this
and it seems to be a dead end. Foolish attempt prefixing with 'db:' 
didn't work.

2) I thought null parameters were supported from 3.0 on, I'm using 3.0.1 
and in the following ejbql query:

     "SELECT COUNT(u) FROM User u WHERE u.username like :usernam AND like :userName"
     eq.setParameter("userName", null);
     eq.setParameter("usernam", "msabo");

results in java.lang.ClassCastException: 
org.apache.cayenne.ejbql.parser.EJBQLPatternValue cannot be cast to 


Marek Šabo

View raw message