如何使用Speedment按顺序对Stream进行排序

时间:2017-05-05 17:02:14

标签: java java-8 speedment

我有一个数据库表,我想过滤,然后按反向(降序)顺序排序。我如何在类似于此的Speedment流中表达:

films.stream()
    .filter(Film.LENGTH.greaterThan(120))
    .sorted(... some expression ...)
    .skip(100)
    .limit(50)
    .collect(Collectors.toList());

我想通过Speedment优化我的SQL查询,因此我不能使用匿名lambda。

1 个答案:

答案 0 :(得分:3)

对要使用的字段使用内置比较器,并应用Comparator::reversed操作,如下所示:

films.stream()
    .filter(Film.LENGTH.greaterThan(120))
    .sorted(Film.LENGTH.comparator().reversed())  // <--- Here
    .skip(100)
    .limit(50)
    .collect(Collectors.toList());