我需要对SDN 4中的一些自定义查询进行分页和排序。我将SDN升级到最新的可用版本:版本4.2 M1(Ingalls)并基于此ticket该版本的问题已得到解决。然而,当我尝试做任何排序或分页它抛出异常说:无法对SpringDataNeo4j进行排序和分页4.2 M1(Ingalls)
org.neo4j.ogm.exception.CypherException: Error executing Cypher; Code: N/A; Description: Unable to convert org.springframework.data.domain.PageRequest to Neo4j Value.
这是我使用的代码:
Pageable pageable = new PageRequest(0, 3, Sort.Direction.DESC, "name");
owners = ownerRepository.getOwnersByFacetGroupId(facetGroupId, pageable);
,这是我的资料库查询:
public interface OwnerRepository extends Neo4jRepository<Owner> {
@Query("MATCH (n:OWNER)-[r:HAS]-(c:FACET_GROUP) Where id(c)={0} RETURN n")
List<Owner> getOwnersByFacetGroupId(Long id , Pageable pageable);}
并且这是的Neo4j使用最终请求:
Request: MATCH (n:OWNER)-[r:HAS]-(c:FACET_GROUP) Where id(c)={0} RETURN n ORDER BY n.name DESC with params {0=9275402, 1={sort=[{direction=DESC, property=n.name, ignoreCase=false, nullHandling=NATIVE, ascending=false}], offset=0, pageSize=3, pageNumber=0}}
还有什么我必须改变才能使用排序和分页?你能提供任何新实现的例子吗?
这是导致异常类:org.neo4j.driver.v1.Values
正如你可以看到有对PageRequest对象不支持的if/else子句...我使用'org.neo4j.driver',name:'neo4j-java-driver',version:'1.1.0-M06'....(最新版本)
我试过了SDN https://repo.spring.io/libs-snapshot/org/springframework/data/spring-data-neo4j/4.2.0.M1/ 和 https://mvnrepository.com/artifact/org.springframework.data/spring-data-neo4j/4.2.0.M1
我相信M1的构建是陈旧的,你可以试试'4.2.0.BUILD-SNAPSHOT'吗? –
@JasperBlues我检查了https://repo.spring.io/libs-snapshot/org/springframework/data/spring-data-neo4j/好像4.2.0.M1 /更新。 – Lina
文件夹日期较旧,但最近的工件内部于十一月十六日发布。 –