spring-data - 如何将 spring 数据排序转换为 querydsl OrderSpecifier?

标签 spring-data querydsl

这基本上与此相反:
How to do a paged QueryDSL query with Spring JPA?

这是针对我无法使用任何 findAll() 方法的自定义查询。

编辑:

发错链接了。现在更正了。

最佳答案

您可以执行以下操作:但请确保修剪 o.getProperty() 以便您只传递属性而不是“别名”。+property

if (pageable != null) {
    query.offset(pageable.getOffset());
    query.limit(pageable.getPageSize());
    for (Sort.Order o : pageable.getSort()) {
        PathBuilder<Object> orderByExpression = new PathBuilder<Object>(Object.class, "object");

        query.orderBy(new OrderSpecifier(o.isAscending() ? com.mysema.query.types.Order.ASC
                : com.mysema.query.types.Order.DESC, orderByExpression.get(o.getProperty())));
    }
}

关于spring-data - 如何将 spring 数据排序转换为 querydsl OrderSpecifier?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13072378/

相关文章:

java - 通过 REST Controller 使用 Spring Data JPA 和 QueryDsl 的异常

java - 使用 spring 数据从 mongodb 中选择随机条目

elasticsearch - 如何从Elasticsearch获得高于平均水平的价格?

java - 使用 QueryDSL 和 Spring 的 Repository 编写跨表查询

spring - 如何使用 hibernate 过滤器或其他方式在 spring 数据 jpa 中实现行级安全?

java - 如何使用 QueryDSL 构建 GenericDao?

elasticsearch - 如何搜索包含子字符串的文档

spring-boot - 在 Elasticsearch 或 Spring 数据 Elasticsearch 中使用源过滤是否会对性能产生影响?

mongodb - 如何使用 Spring Data JPA 通过 Id 和设置为 "True"的 bool 值进行查询

Spring Data 存储库未从 save 方法返回更新的 @version