My bad for missing it. 😕 Thanks for the reference; I will dig a little deeper into the AWESOME documentation. "Unfortunately", Cayenne is so smooth to use that I need to read the documentation so rarely, that I have missed most of the updates since 3.1 (the first release of Cayenne I started using seriuosly, and which I did read throughtly).
Thanks again for this great library! Cheers, Giulio Cesare On Thu, Oct 28, 2021 at 8:45 AM Andrus Adamchik <aadamc...@gmail.com> wrote: > Yeah, the expressions chapter mentions it: > > http://cayenne.apache.org/docs/4.1/cayenne-guide/#expressions < > http://cayenne.apache.org/docs/4.1/cayenne-guide/#expressions> > > > Andrus > > > > On Oct 28, 2021, at 9:38 AM, giulio.ces...@gmail.com wrote: > > > > Is there any point in the documentation where this "db:" prefix has been > > documented? > > > > Cheers, > > Giulio Cesare > > > > On Wed, Oct 27, 2021 at 11:23 PM giulio.ces...@gmail.com < > > giulio.ces...@gmail.com> wrote: > > > >> It did work! 🤩 > >> > >> Thanks Nikita. 🙏 > >> > >> Cheers, > >> > >> Giulio Cesare > >> > >> > >> On Wed, Oct 27, 2021 at 7:46 PM Nikita Timofeev < > ntimof...@objectstyle.com> > >> wrote: > >> > >>> Hi! > >>> > >>> You could try to add "db:" prefix to the primary key name. > >>> Something like this: orderBy("db:ARTIST_ID") > >>> > >>> On Wed, Oct 27, 2021 at 8:14 PM giulio.ces...@gmail.com > >>> <giulio.ces...@gmail.com> wrote: > >>>> > >>>> Hello, > >>>> > >>>> I am try to run some BBD tests integrated with Cayenne (succesfully, > so > >>>> far). > >>>> I am at the point where I can not fully specify the record/object to > >>> select > >>>> in the test script, and so I am trying to select the latest object > >>>> inserted, matching some lose criteria. > >>>> > >>>> Unfortunately, I don't have a generic "insertion date" in all my > >>> entities; > >>>> so the next best think I could think of, is to use the value of the PK > >>>> (generated using Postgres sequences) to sort the selected objects > (DESC) > >>>> and picking the first match. > >>>> > >>>> To achieve this, I have tried with this code: > >>>> > >>>> String dbEntityName = > >>>> > context.getEntityResolver().getObjEntity(entityName).getDbEntityName(); > >>>> ImmutableList<Ordering> orderBy = > >>>> > >>> > context.getEntityResolver().getDbEntity(dbEntityName).getPrimaryKeys().stream() > >>>> .map(attribute -> new Ordering(attribute.getName(), > >>> SortOrder.DESCENDING)) > >>>> .collect(ImmutableList.toImmutableList()) > >>>> ; > >>>> BaseDataObject latestInstance = > >>>> ObjectSelect.query(clazz).orderBy(orderBy).selectFirst(context); > >>>> > >>>> but I get the following error: > >>>> - Can't resolve path component: [{EntityName}.{primaryKeyFieldName}] > >>>> > >>>> I realize that {EntityName} and {primaryKeyFieldName} live in two > >>> separate > >>>> contexts (Entities vs DB); but I have no more ideas on how to > progress. > >>>> > >>>> Does anyone have any suggestions on how to do this stunt? > >>>> > >>>> Cheers, > >>>> Giulio Cesare > >>> > >>> > >>> > >>> -- > >>> Best regards, > >>> Nikita Timofeev > >>> > >> > >