cool, thank you
> On 1 May 2017, at 13:52, Michael Gentry <[email protected]> wrote:
>
> Hi Amedeo,
>
> Another option for 3.1 is to use my AggregateUtils:
>
> https://github.com/mrg/cbe/tree/master/FetchingObjects/Aggregates/src/main/java/cbe/fetching/utilities
>
> (You'd need both of the files there.)
>
> With it you get count, min, max, avg, and sum functions.
>
> For your example, this is how you would do a count:
>
> SelectQuery query = new SelectQuery(MyEntity.class);
> long count = AggregateUtils.count(dataContext, query);
>
> An example of all 5 aggregate functions in use can be found here:
>
> https://github.com/mrg/cbe/blob/master/FetchingObjects/Aggregates/src/main/java/cbe/fetching/Aggregates.java
>
> mrg
>
>
> On Mon, May 1, 2017 at 3:55 AM, Andrus Adamchik <[email protected]>
> wrote:
>
>> SQLTemplate it is then.
>>
>>> On Apr 30, 2017, at 9:02 PM, Amedeo Mantica <[email protected]>
>> wrote:
>>>
>>> Cool.
>>> However I'm using the 3.1.2 yet
>>> Amedeo
>>>
>>>> On 30 Apr 2017, at 10:21, Andrus Adamchik <[email protected]>
>> wrote:
>>>>
>>>>> 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 <
>> [email protected]> 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 <[email protected]>
>> 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
>>>>
>>>
>>
>>