使用neo4j-ogm 2.0.x执行CYPHER删除查询时出现Jackson异常



我使用的是neo4j-ogm 2.0.5(与2.0.4相同),当执行CYPHER查询时:

"MATCH (n)-[r:…]-()WHERE…删除r返回r"与会话。查询(类,字符串,映射)

我有以下错误(似乎缓存不能更新已删除的关系):

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "deleted" (class org.neo4j.ogm.response.model.RelationshipModel), not marked as ignorable (6 known properties: "properties", "startNode", "type", "id", "endNode", "propertyList"])
at [Source: N/A; line: -1, column: -1] (through reference chain: org.neo4j.ogm.result.ResultGraphModel["graph"]->org.neo4j.ogm.response.model.DefaultGraphModel["relationships"]->Object[][0]->org.neo4j.ogm.response.model.RelationshipModel["deleted"])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:62)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:833)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1096)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1467)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1445)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:282)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:140)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:196)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:20)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:490)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:95)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:276)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:140)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:490)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:95)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:276)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:178)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:150)
at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3761)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2090)
at org.neo4j.ogm.drivers.http.response.AbstractHttpResponse.nextDataRecord(AbstractHttpResponse.java:96)
at org.neo4j.ogm.drivers.http.response.GraphModelResponse.next(GraphModelResponse.java:34)
at org.neo4j.ogm.drivers.http.response.GraphModelResponse.next(GraphModelResponse.java:25)
at org.neo4j.ogm.context.GraphEntityMapper.map(GraphEntityMapper.java:84)
at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.executeAndMap(ExecuteQueriesDelegate.java:115)
at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.query(ExecuteQueriesDelegate.java:87)
...

github上的Bug已收到以下答案:

在Cypher中不能返回已删除的对象(节点或关系),但可以返回其id:

MATCH (n)-[r:…]-()WHERE…返回id(r)

最新更新