You can still do it the 3.1 way via dataContext.performIteratedQuery(q) , which 
works with any Query:

http://cayenne.apache.org/docs/3.1/cayenne-guide/performance-tuning.html#iterated-queries

> On May 20, 2015, at 1:45 PM, Hugi Thordarson <h...@karlmenn.is> wrote:
> 
> 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
>> 
> 
> 

Reply via email to