>> SELECT #result('COUNT(id)' 'Long' 'count')
>> from User #chain('AND' 'WHERE') #chunk($userId) id = #bind($userId) #end #chunk($userName) userInfo.name LIKE $userName #end #end
>> becuase of "userInfo.name" 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 a.id = :userId AND a.userInfo.name like :userName
>
Hi,
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
http://www.mail-archive.com/use..ayenne.apache.org/msg02992.html
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
u.userInfo.name 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
org.apache.cayenne.ejbql.parser.EJBQLEquals
Regards,
-- Marek Å abo
This archive was generated by hypermail 2.0.0 : Sun Nov 21 2010 - 16:19:26 UTC