// 查询满足条件的流程主表,且主表里面返回最新版本的流程定义
return easyEntityQuery.queryable(Proc.class)
.where(p -> {
p.processName().like(req.getProcessName());
p.bizType().like(req.getBizType());
})
.include(p -> p.procDefList(), q -> q
.orderBy(d -> d.processVersion().desc())
.limit(1))
.selectAutoInclude(ProcQueryResp.class)
.toPageResult(req.getPageNum(), req.getPageSize());
上面是include的写法 希望include2下也支持 orderBy 和 limit 过滤和排序。
尝试这样写
return easyEntityQuery.queryable(Proc.class)
.where(p -> {
p.processName().like(req.getProcessName());
p.bizType().like(req.getBizType());
})
.include2((c, p) -> {
c.query(
p.procDefList()
.orderBy(d -> d.processVersion().desc())
).limit(0, 1);
})
.selectAutoInclude(ProcQueryResp.class)
.toPageResult(req.getPageNum(), req.getPageSize());
会报错 com.easy.query.core.exception.EasyQueryInvalidOperationException: include limit mode error:PARTITION
at com.easy.query.core.expression.sql.include.DefaultIncludeProvider.getIncludeQueryable(DefaultIncludeProvider.java:103) ~[sql-core-3.2.1.jar:na]
at com.easy.query.core.expression.sql.include.DefaultIncludeProvider.lambda$include$0(DefaultIncludeProvider.java:81) ~[sql-core-3.2.1.jar:na]
at com.easy.query.core.expression.sql.include.DefaultIncludeParserEngine.lambda$confirmNavigateProperty$16(DefaultIncludeParserEngine.java:320) ~[sql-core-3.2.1.jar:na]
at com.easy.query.core.util.EasyIncludeUtil.queryableExpressionGroupExecute(EasyIncludeUtil.java:32) ~[sql-core-3.2.1.jar:na]
at com.easy.query.core.expression.sql.include.DefaultIncludeParserEngine.process(DefaultIncludeParserEngine.java:240) ~[sql-core-3.2.1.
上面是include的写法 希望include2下也支持 orderBy 和 limit 过滤和排序。
尝试这样写
return easyEntityQuery.queryable(Proc.class)
.where(p -> {
p.processName().like(req.getProcessName());
p.bizType().like(req.getBizType());
})
.include2((c, p) -> {
c.query(
p.procDefList()
.orderBy(d -> d.processVersion().desc())
).limit(0, 1);
})
.selectAutoInclude(ProcQueryResp.class)
.toPageResult(req.getPageNum(), req.getPageSize());
会报错 com.easy.query.core.exception.EasyQueryInvalidOperationException: include limit mode error:PARTITION
at com.easy.query.core.expression.sql.include.DefaultIncludeProvider.getIncludeQueryable(DefaultIncludeProvider.java:103) ~[sql-core-3.2.1.jar:na]
at com.easy.query.core.expression.sql.include.DefaultIncludeProvider.lambda$include$0(DefaultIncludeProvider.java:81) ~[sql-core-3.2.1.jar:na]
at com.easy.query.core.expression.sql.include.DefaultIncludeParserEngine.lambda$confirmNavigateProperty$16(DefaultIncludeParserEngine.java:320) ~[sql-core-3.2.1.jar:na]
at com.easy.query.core.util.EasyIncludeUtil.queryableExpressionGroupExecute(EasyIncludeUtil.java:32) ~[sql-core-3.2.1.jar:na]
at com.easy.query.core.expression.sql.include.DefaultIncludeParserEngine.process(DefaultIncludeParserEngine.java:240) ~[sql-core-3.2.1.