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 > >> > > >