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
>

Reply via email to