如何使用 Speedment 以相反的顺序对流进行排序 [重复]
Posted
技术标签:
【中文标题】如何使用 Speedment 以相反的顺序对流进行排序 [重复]【英文标题】:How do I sort a Stream in reversed order with Speedment [duplicate] 【发布时间】:2017-10-04 06:03:34 【问题描述】:我有一个要过滤的数据库表,然后按反向(降序)顺序排序。我如何在与此类似的 Speedment 流中表达这一点:
films.stream()
.filter(Film.LENGTH.greaterThan(120))
.sorted(... some expression ...)
.skip(100)
.limit(50)
.collect(Collectors.toList());
我希望我的 SQL 查询由 Speedment 优化,因此我不能使用匿名 lambda。
【问题讨论】:
与一般匿名 lambdaComparator::reversed
相比,使用内置比较器很重要,否则 Speedment 将无法在后台呈现完全优化的 SQL 查询。
如果你在我标记后更改问题,你不能抱怨标记......
【参考方案1】:
为您要使用的字段使用内置比较器并应用Comparator::reversed 操作,如下所示:
films.stream()
.filter(Film.LENGTH.greaterThan(120))
.sorted(Film.LENGTH.comparator().reversed()) // <--- Here
.skip(100)
.limit(50)
.collect(Collectors.toList());
【讨论】:
以上是关于如何使用 Speedment 以相反的顺序对流进行排序 [重复]的主要内容,如果未能解决你的问题,请参考以下文章