Neo4j会话查询不存在';t与@QueryResult一起工作

Neo4j会话查询不存在';t与@QueryResult一起工作,neo4j,spring-data-neo4j,spring-data-neo4j-4,neo4j-ogm,Neo4j,Spring Data Neo4j,Spring Data Neo4j 4,Neo4j Ogm,当我尝试对类型为@QueryResult的参数化对象使用会话方法时,该方法无法生成结果列表: <T> Iterable<T> query(Class<T> objectType, String cypher, Map<String, ?> parameters); Iterable查询(类objectType、字符串cypher、映射参数); 这正常吗?因为@QueryResult是一个Spring数据Neo4j(SDN)概念,它不能与Neo4

当我尝试对类型为
@QueryResult
的参数化对象使用
会话
方法时,该方法无法生成结果列表:

<T> Iterable<T> query(Class<T> objectType, String cypher, Map<String, ?> parameters);
Iterable查询(类objectType、字符串cypher、映射参数);

这正常吗?

因为
@QueryResult
是一个Spring数据Neo4j(SDN)概念,它不能与Neo4j OGM
会话
功能一起工作

相反,您可以做的只是将您想要的查询添加到带有
@query
注释的SDN存储库方法中,并让它返回一个
@QueryResult
,其中嵌入了列表。比如:

@Query("MATCH ... ")
CustomQueryResult myCustomQuery(@Param("aParam") String param);

由于
@QueryResult
是一个Spring数据Neo4j(SDN)概念,它无法与Neo4j OGM
会话
功能一起使用

相反,您可以做的只是将您想要的查询添加到带有
@query
注释的SDN存储库方法中,并让它返回一个
@QueryResult
,其中嵌入了列表。比如:

@Query("MATCH ... ")
CustomQueryResult myCustomQuery(@Param("aParam") String param);

由于高级行为,我无法使用您的解决方案。我需要更多的功能,因为我必须动态创建查询。但是,在封面下,SDN是否使用OGM会话进行查询?是的,但SDN只能使用OGM功能;反之亦然(这正是你想要做的)。如果您只想使用OGM工具,那么您需要将自定义对象添加到扫描包中,而不使用
@QueryResult
。因此,通过变量属性名进行有序查询的唯一方法是我做什么?我不确定您的意思。也许可以提供更多的上下文?我需要检索按属性排序的节点列表。属性名称是可变的(即,用户可以选择对哪个属性进行排序)。我找到的唯一解决方案是动态创建查询和session.queryDue,因为高级行为我无法使用您的解决方案。我需要更多的功能,因为我必须动态创建查询。但是,在封面下,SDN是否使用OGM会话进行查询?是的,但SDN只能使用OGM功能;反之亦然(这正是你想要做的)。如果您只想使用OGM工具,那么您需要将自定义对象添加到扫描包中,而不使用
@QueryResult
。因此,通过变量属性名进行有序查询的唯一方法是我做什么?我不确定您的意思。也许可以提供更多的上下文?我需要检索按属性排序的节点列表。属性名称是可变的(即,用户可以选择对哪个属性进行排序)。我找到的唯一解决方案是动态创建查询和session.query