a request to entity A with the following include (include=b.c.someProp), results in the following Exception:
i.a.c.s.CayenneRuntimeExceptionMapper: Cayenne exception
org.apache.cayenne.exp.ExpressionException: [v.4.2.RC2 Dec 01 2022 07:39:35] Can't resolve path component: [B.objectId].
at org.apache.cayenne.map.Entity$PathIterator.next(Entity.java:416)
at org.apache.cayenne.map.Entity$PathIterator.next(Entity.java:374)
at io.agrest.cayenne.path.PathOps.resolveAsDbPath(PathOps.java:98)
at io.agrest.cayenne.path.PathOps.concatWithDbPath(PathOps.java:70)
at io.agrest.cayenne.processor.CayenneQueryAssembler.queryColumns(CayenneQueryAssembler.java:115)
at io.agrest.cayenne.processor.CayenneQueryAssembler.createQueryWithParentQualifier(CayenneQueryAssembler.java:81)
at io.agrest.cayenne.processor.select.ViaQueryWithParentExpResolver.doOnParentQueryAssembled(ViaQueryWithParentExpResolver.java:46)
at io.agrest.resolver.BaseRelatedDataResolver.onParentQueryAssembled(BaseRelatedDataResolver.java:15)
at io.agrest.cayenne.processor.select.ContextualCayenneRelatedDataResolver.onParentQueryAssembled(ContextualCayenneRelatedDataResolver.java:30)
at io.agrest.resolver.BaseDataResolver.afterQueryAssembled(BaseDataResolver.java:22)
at io.agrest.resolver.BaseRelatedDataResolver.onParentQueryAssembled(BaseRelatedDataResolver.java:16)
at io.agrest.cayenne.processor.select.ContextualCayenneRelatedDataResolver.onParentQueryAssembled(ContextualCayenneRelatedDataResolver.java:30)
at io.agrest.resolver.BaseDataResolver.afterQueryAssembled(BaseDataResolver.java:22)
at io.agrest.resolver.BaseRootDataResolver.assembleQuery(BaseRootDataResolver.java:19)
at io.agrest.runtime.processor.select.stage.SelectAssembleQueryStage.doExecute(SelectAssembleQueryStage.java:22)
at io.agrest.runtime.processor.select.stage.SelectAssembleQueryStage.execute(SelectAssembleQueryStage.java:14)
at io.agrest.runtime.processor.select.stage.SelectAssembleQueryStage.execute(SelectAssembleQueryStage.java:10)
at io.agrest.processor.Processor.lambda$andThen$0(Processor.java:20)
at io.agrest.processor.Processor.lambda$andThen$0(Processor.java:18)
at io.agrest.processor.Processor.lambda$andThen$0(Processor.java:18)
at io.agrest.processor.Processor.lambda$andThen$0(Processor.java:18)
at io.agrest.processor.ExceptionMappingProcessorDecorator.execute(ExceptionMappingProcessorDecorator.java:21)
at io.agrest.runtime.DefaultSelectBuilder.get(DefaultSelectBuilder.java:147)
Assuming Cayenne entities A, B, C, related like this:
A -(1..N)-> B -(N..1)-> C
, and B having its ID hidden from Agresta request to entity A with the following include (
include=b.c.someProp
), results in the following Exception: