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 <[email protected]> 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 <[email protected]> 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] …….
>>
>>
>