cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: Raw query
Date Sun, 30 Apr 2017 08:21:05 GMT
> SQLTemplate query = new SQLTemplate(MyEntity.class, "SELECT COUNT(1)
> FROM MY_ENTITY");
> query.setFetchingDataRows(true);
> List<DataRow> rows = (List<DataRow>) context.performQuery(query);

Or you can use SQLSelect as a type-safe and more user-friendly flavor doing the same thing:

  List<DataRow> rows = SQLSelect.dataRowQuery("SELECT COUNT(1) FROM MY_ENTITY").select(context);

> You can also use aggregate functions directly with Cayenne API (since
> version 4.0.M5):
> 
> long count = ObjectSelect.query(MyEntity.class).selectCount(context);

Yep, this one is the best option.

Andrus


> On Apr 29, 2017, at 5:22 PM, Nikita Timofeev <ntimofeev@objectstyle.com> wrote:
> 
> Hi Amedeo,
> 
> For raw queries you can use SQLTemplate, like this:
> 
> SQLTemplate query = new SQLTemplate(MyEntity.class, "SELECT COUNT(1)
> FROM MY_ENTITY");
> query.setFetchingDataRows(true);
> List<DataRow> rows = (List<DataRow>) context.performQuery(query);
> 
> You can also use aggregate functions directly with Cayenne API (since
> version 4.0.M5):
> 
> long count = ObjectSelect.query(MyEntity.class).selectCount(context);
> 
> Hope this helps!
> 
> On Sat, Apr 29, 2017 at 4:49 PM, Amedeo Mantica <amedeomantica@me.com> wrote:
>> Hi all,
>> 
>> Ho to execute a simple raw query with cayenne ?
>> 
>> let say: SELECT COUNT(1) FROM MY_ENTITY;
>> 
>> Thank you
>> Amedeo
> 
> 
> 
> -- 
> Best regards,
> Nikita Timofeev


Mime
View raw message