版本3.0.1的Ogm过滤器与早期版本(2.3.1)的过滤器不兼容

时间:2017-11-13 13:01:40

标签: neo4j neo4j-ogm

我们在基础库中广泛使用过滤器。在将neo4j(从3.2.0升级到3.3.0)和ogm(从2.1.3升级到3.0.1)升级后,我发现构造函数Filter(propertyName, propertyValue)不再存在。

现在我的旧代码出现了编译错误:

  

Filter filter = new Filter(key,ob) - >构造函数Filter(String,   对象)未定义

可能我可以尝试更改构造函数调用,但我不知道ComparisonOperator中哪一个是默认的。无法找到任何描述该惯例的文档。例如,当我尝试通过财产找到时,我应该使用哪一个"在数据库?

1 个答案:

答案 0 :(得分:0)

是的,在OGM 3中删除了此构造函数以使代码模式显式化。在这种情况下替换为

new Filter(propertyName, propertyValue)

将是

new Filter(propertyName, ComparisonOperator.EQUALS, propertyValue);

也许你可以使用像这样的正则表达式来处理它:

new Filter\(([^,]+)\s*,\s*([^\)^,]+)\) 

替换为

new Filter\($1, ComparisonOperator.EQUALS, $2)