[英]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.