cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: Generating SQL from an Expression (for use in a utility method)
Date Tue, 19 May 2015 19:34:06 GMT
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 <mgentry@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 <hugi@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


Mime
View raw message