Sort.of中的Spring自定义排序



有什么方法可以将Sort.of与这种排序一起使用吗?

@Query("SELECT l FROM Livestream l WHERE l.status IN ('LIVE', 'FUTURE') ORDER BY CASE WHEN l.status = 'LIVE' THEN -1 ELSE 0 END ASC")
fun findLiveAndFuture(pageable: Pageable): Page<Livestream>

我不确定最后case的用法,因为结果很可能同时有LIVEFUTURE结果,所以这个案例不会像预期的那样工作。

您可以使用Pageable中的对象Sort来定义您想要的排序。这将需要你使用类似PageRequest的东西来实现它

或者,您可以使用传递存储库中的Sort对象,如下所示:

fun findLiveAndFuture(pageable: Pageable, sort: Sort): Page<Livestream>

最新更新