2013-11-26 97 views
0

我们在我们的java服务器中使用Neo4j 2.0 RC1。我们参数化我们密码中的变量。我们的一个密码使用IN子句,例如如何使用IN运算符将参数传递给密码?

MATCH (a) WHERE a.name IN ["Peter", "Tobias"] RETURN a 

所以我想是这样的:

String cypher = "MATCH (a) WHERE a.name IN {names} RETURN a"; 
Map<String, Object> params = new HashMap<>(); 
List<String> names = new ArrayList<>(); 
//add some names to the names list 
params.put("names", names); 
ExecutionResult result = engine.execute(cypher, params); 

它显然不工作,我如何参数化IN操作符?

+0

我复制了你的代码片段,它适用于我。当你运行它会发生什么? – jjaderberg

+0

我收到了一个导致错误的错误。事情工作得很好 –

回答

2

neo4j rocks !!

事情按预期/期望工作。我在代码的其他地方得到了一个错误,否则下面的代码片段工作得很好:

String cypher = "MATCH (a) WHERE a.name IN {names} RETURN a"; 
Map<String, Object> params = new HashMap<>(); 
List<String> names = new ArrayList<>(); 
//add some names to the names list 
params.put("names", names); 
ExecutionResult result = engine.execute(cypher, params); 
相关问题