Skip to content

希望include2 能支持类似的order by 和limit操作 #470

@bks-abs

Description

@bks-abs
    // 查询满足条件的流程主表,且主表里面返回最新版本的流程定义
    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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions