【发布时间】:2021-04-21 10:05:21
【问题描述】:
有没有办法使用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>
【问题讨论】:
-
你可以试试
JpaSort.unsafe(ASC, "CASE WHEN l.status = 'LIVE' THEN -1 ELSE 0 END")。但是,不是简单地按l.status排序吗? -
@crizzis 谢谢!它以这种方式工作
JpaSort.unsafe(ASC, "(CASE WHEN l.status = 'LIVE' THEN -1 ELSE 0 END)")。关于查询,我只是简化了它。原始查询更复杂,排序中的用例
标签: spring hibernate spring-data-jpa spring-data