首页 > 解决方案 > JpaRepository (Neo4j) 在多个不明确的列上排序?

问题描述

这是特定于 Neo4jRepository 的,但它可能适用于其他人......

我有 2 个实体,电影和人。我想按 Movie.title 然后 Person.name 进行排序,但查询返回为,因此它将 order by 子句全部粘贴在第一个对象上:

MATCH (n: Movie) WITH n ORDER BY n。title,n. name返回 n,[ [ (n)<-[r_d1: DIRECTED]-(p1: Person) | [ r_d1, p1 ] ], [ (n)<-[r_a1: ACTED_IN]-(p1: Person) | [ r_a1, p1 ] ], [ (n)<-[r_p1: PRODUCED]-(p1: Person) | [ r_p1, p1 ] ], ID(n) 带参数 {}

return ImmutableList.copyOf(this.movieRepository.findAll(Sort.by(Order.asc("title"),
                                                                 Order.asc("name"))));

我需要指定自定义查询吗?或者是否有一种内置方式来指定 order by 适用于什么?

标签: javajpaneo4jspring-data-jpa

解决方案


您必须编写自定义查询。

存储库上的find方法将排序应用于属于存储库的域对象的属性 - 在本例中为电影。


推荐阅读