【发布时间】:2016-11-17 11:25:25
【问题描述】:
我读过here,spring-data-neo4j-4 现在支持在 spring-data-neo4j 4 中分页和排序。
但是下面的代码给了我下面的错误。
存储库代码
@Query("match (m:Member {domainId: {domainId}})-[s:SUBSCRIBER]->(t:MessageThread) return t;")
Page<MessageThread> findByMemberId(Pageable pageable, @Param("domainId") String memberId);
错误信息
org.neo4j.ogm.exception.CypherException:执行 Cypher “Neo.ClientError.Statement.SyntaxError”时出错;代码:Neo.ClientError.Statement.SyntaxError;说明:无效输入“K”:预期的“t/T”或“e/E”(第 1 行,第 84 列(偏移量:83)) "match (m:Member {domainId: {domainId}})-[s:SUBSCRIBER]->(t:MessageThread) return t; SKIP {sdnSkip} LIMIT {sdnLimit}"
我想知道,这是预期的还是我做错了什么?
我目前使用的是 SDN 4.2.0.M1
更新:这是发送到 neo4j 服务器的 http 请求(包括密码):
http://localhost:62131/db/data/transaction/commit, request:
{
"statements": [{
"statement": "match (m:Member {domainId: {domainId}})-[s:SUBSCRIBER]->(t:MessageThread) return t; SKIP {sdnSkip} LIMIT {sdnLimit}",
"parameters": {
"0": {
"sort": null,
"offset": 0,
"pageNumber": 0,
"pageSize": 20
},
"domainId": "5qfrCXxDQJm5SGpIHtI1yw",
"sdnSkip": 0,
"sdnLimit": 20
},
"resultDataContents": ["graph"],
"includeStats": false
}]
}
【问题讨论】:
-
你能打开调试以显示 CYPHER 语句吗?
<logger name="org.neo4j.ogm" level="warn" />。或者,发送一个示例项目。用法看起来不错。 -
谢谢贾斯珀。我已经粘贴了发送到数据库服务器的内容。我可以看到它是密码中放错位置的半冒号。我能做些什么呢?如果没有,请告诉我是否可以将测试用例放在一起。干杯。
-
啊,之前没注意到。你用的是什么版本?我肯定已经通过测试用例在 master 中修复了该问题 - 将作为 SNAPSHOT 版本提供。同时,您可以删除 ;来自您的查询。