繁体   English   中英

Spring Neo4j JPA 原生动态排序查询

[英]Spring Neo4j JPA native dynamic order by query

我需要对原生查询进行动态排序,我传递了 Pageable object,当我将 $skip 和 $limit 参数分配给原生查询时,skip 和 limit 属性可以正常工作。 但是我不能使用诸如“ORDER BY m.title DESC”之类的语句的顺序。 我的实际查询比这更复杂,但我只是编写了实际查询的基础版本。

存储库

@Query(value = "MATCH (m:Movie) RETURN m SKIP $skip LIMIT $limit;", countQuery = "MATCH (m:Movie) RETURN count(m);")
Page<Movie> getMoviesBy(Pageable pageable);

服务

return repository.getMoviesBy(pageable);

Controller

 @GetMapping("search")
    public ResponseEntity search(@RequestParam(defaultValue = "0") Integer pageNo,
                                 @RequestParam(defaultValue = "10") Integer pageSize,
                                 @RequestParam Sort.Direction sortDirection,
                                 @RequestParam String sortBy
    ) {
        return ResponseEntity.ok(movieService.search(PageRequest.of(pageNo, pageSize,Sort.by(sortDirection, sortBy))));
    }

使用 function 服务和存储库中的变量 sortBy how 参数,并使用此变量在本机查询中创建动态顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM