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