SQLTemplate it is then.

> On Apr 30, 2017, at 9:02 PM, Amedeo Mantica <amedeomant...@me.com> wrote:
> 
> Cool.
> However I'm using the 3.1.2 yet
> Amedeo
> 
>> On 30 Apr 2017, at 10:21, Andrus Adamchik <and...@objectstyle.org> 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 <ntimof...@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 <amedeomant...@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
>> 
> 

Reply via email to