I’m not quite getting this to work… In this case I have a list of Receipts linked to Shops, and I want to select the shop IDs (simplified example). If I try:
select db:r.shop_id from Receipt r I’ll receive an error that “shop_id” is an invalid path component. > On 15. ágú. 2016, at 17:18, Andrus Adamchik <[email protected]> wrote: > >> One last question: Can I use db:-paths in EJBQL queries? > > Yes, db path should be supported everywhere. > >> Particularly, I’m attempting to use FK-columns (that aren’t exposed in the >> ObjEntity) in my queries, perhaps there’s another way? > > > If possible, use a relationship name instead of FK. E.g. > > "SELECT p FROM Painting p WHERE p.artist = 1" > > but if not, db path is an option. > > Andrus > > >> On Aug 15, 2016, at 7:02 PM, Hugi Thordarson <[email protected]> wrote: >> >> Thanks for this Andrus. One last question: Can I use db:-paths in EJBQL >> queries? Particularly, I’m attempting to use FK-columns (that aren’t exposed >> in the ObjEntity) in my queries, perhaps there’s another way? >> >> Cheers, >> - hugi >> >> >> >>> On 15. ágú. 2016, at 15:31, Andrus Adamchik <[email protected]> wrote: >>> >>> Ah yeah, now checking the code I am starting to remember. Arithmetic >>> expressions are not allowed in SELECT clause, only in WHERE. There's no >>> real reason for it other then us initially basing EJBQL parser on some >>> early JPA spec that probably didn't support it. We need to add it to the >>> parser. For now it won't work. >>> >>> Andrus >>> >>> >>>> On Aug 15, 2016, at 5:49 PM, Hugi Thordarson <[email protected]> wrote: >>>> >>>> Hi Andrus, >>>> >>>>> On 15. ágú. 2016, at 06:30, Andrus Adamchik <[email protected]> >>>>> wrote: >>>>> >>>>> Hi Hugi, >>>>> >>>>> Sorry for delayed reply. I swear we had the BNF for EJBQL in the docs, >>>>> but apparently we don't. Here is the closest thing to it - a JavaCC >>>>> grammar: >>>>> >>>>> https://github.com/apache/cayenne/blob/master/cayenne-server/src/main/jjtree/org/apache/cayenne/ejbql/EJBQLParser.jjt >>>>> >>>>> We do support simple arithmetic operations. Search for 'arithmetic_' >>>>> clauses in the .jjt. >>>> >>>> I’m not as smart as you think—I haven’t touched JavaCC grammar before, >>>> though I could figure it out but I don’t see how to do this :). Can you >>>> tell me how I can do something equivalent to “select e.price*e.quantity >>>> from Entry e”? >>>> >>>> Cheers, >>>> - hugi >>> >> >
