Thanks, I’ll look into this as an alternative to the SQLTemplate query. On a related note, is there any way to perform an iterative fetch using SQLTemplate or EJBQL queries, rather than pulling the entire result of a fetch into memory? The ObjectContext.iterate() and ObjectContext.iterator() methods only seem to accept queries of the type Select<T>?
Cheers, - hugi > On 19. maí 2015, at 19:34, Andrus Adamchik <and...@objectstyle.org> wrote: > > Or you can look at EJBQLQuery that allows to express your query in object > terms, and Cayenne will translate it to proper SQL: > > Expression exp = ... > EJBQLQuery query = new EJBQLQuery("SELECT a.name FROM Artist a WHERE " + > exp.toEJBQL("a")); > > This is the API to use until we provide similar (non-string-based) API in > ObjectSelect ... > > Andrus > > >> On May 19, 2015, at 6:36 PM, Michael Gentry <mgen...@masslight.net> wrote: >> >> Hi Hugi, >> >> Perhaps this can help you: >> >> https://github.com/mrg/cbe/tree/master/FetchingObjects/Aggregates/src/main/java/cbe/fetching/utilities >> >> AggregateUtils uses AggregateTranslator to construct the SQL for a query >> (getting the SQL from Cayenne) and then manipulates it to run a COUNT(*) or >> SUM(...) type function based upon your original SelectQuery. Especially >> look at AggregateTranslator.createSqlString(). >> >> The example code using it might also help you: >> >> https://github.com/mrg/cbe/blob/master/FetchingObjects/Aggregates/src/main/java/cbe/fetching/Aggregates.java >> >> mrg >> >> >> On Tue, May 19, 2015 at 11:21 AM, Hugi Thordarson <h...@karlmenn.is> wrote: >> >>> Hi all. >>> >>> I’m creating a little utility method to emulate functionality from EOF, >>> i.e. to allow me to fetch distinct values for specified columns. This is >>> what I have so far: >>> >>> https://gist.github.com/hugith/05de4ad2f3d6f2cdc16a < >>> https://gist.github.com/hugith/05de4ad2f3d6f2cdc16a> >>> >>> However, I would like to be able to provide an expression to the query. >>> Does Cayenne have something to generate the SQL from an expression for me? >>> >>> Am I perhaps going totally wrong about this? >>> >>> Cheers, >>> - hugi >