Fun fact: I have years worth of Cayenne mailing list content in GMail, but
you can't search for db: in it because GMail uses prefix:term as an
advanced search option and it doesn't know what to do with db: ...


On Thu, Oct 28, 2021 at 2:38 AM giulio.ces...@gmail.com <
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
> >>
> >
>

Reply via email to