Hi Andrus,

Ok, I was fooled by the presence of this:


> public class Cayenne {
> 
>     /**
>      * A special property denoting a size of the to-many collection, when
>      * encountered at the end of the path</p>
>      */
>     final static String PROPERTY_COLLECTION_SIZE = "@size";

In Cayenne’s source code here:

https://github.com/apache/cayenne/blob/master/cayenne/src/main/java/org/apache/cayenne/Cayenne.java

I sometimes miss EOF but I must say Cayenne is very gratifying. Working in a 
modern IDE with a compact ORM is such a pleasure. I just need to find my way on 
how things are done in this different world. I guess I’ll need to sort 
in-memory. Or maybe put something on the db side. Thank you anyway.

Riccardo

> On 27 Jul 2024, at 21:14, Andrus Adamchik <aadamc...@gmail.com> wrote:
> 
> No. Unlike EOF, "@size" is not a keyword with any meaning in Cayenne.
> 
> Andrus
> 
>> On Jul 27, 2024, at 2:38 PM, Riccardo De Menna <deme...@tuorlo.net> wrote:
>> 
>> Can I use the @size keyword to sort a ToMany relationship in the backend with
>> ObjectSelect.orderBy() ?
>> 
>> I’m getting:
>> 
>> java.lang.IllegalStateException: Unable to resolve path: compositions 
>> (unknown '@size' component)
>> at 
>> org.apache.cayenne.access.translator.select.ObjPathProcessor.processNormalAttribute(ObjPathProcessor.java:65)
>>  ~[cayenne-server-4.2.jar:4.2]
>> at 
>> org.apache.cayenne.access.translator.select.PathProcessor.process(PathProcessor.java:80)
>>  ~[cayenne-server-4.2.jar:4.2]
>> at 
>> org.apache.cayenne.access.translator.select.PathTranslator.lambda$translatePath$0(PathTranslator.java:48)
>>  ~[cayenne-server-4.2.jar:4.2]
>> at 
>> java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
>>  ~[na:na]
>> at 
>> org.apache.cayenne.access.translator.select.PathTranslator.translatePath(PathTranslator.java:47)
>>  ~[cayenne-server-4.2.jar:4.2]
>> at 
>> org.apache.cayenne.access.translator.select.PathTranslator.translatePath(PathTranslator.java:52)
>>  ~[cayenne-server-4.2.jar:4.2]
>> at 
>> org.apache.cayenne.access.translator.select.QualifierTranslator.expressionNodeToSqlNode(QualifierTranslator.java:155)
>>  ~[cayenne-server-4.2.jar:4.2]
>> at 
>> org.apache.cayenne.access.translator.select.QualifierTranslator.startNode(QualifierTranslator.java:118)
>>  ~[cayenne-server-4.2.jar:4.2] …….
>> 
>> 
> 

Reply via email to