Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用IN运算符将参数传递给密码器?_Java_Cypher_Neo4j - Fatal编程技术网

Java 如何使用IN运算符将参数传递给密码器?

Java 如何使用IN运算符将参数传递给密码器?,java,cypher,neo4j,Java,Cypher,Neo4j,我们正在使用嵌入java服务器中的Neo4j 2.0 RC1。我们将密码中的变量参数化。我们的一个密码在子句中使用,例如 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<>(); L

我们正在使用嵌入java服务器中的Neo4j 2.0 RC1。我们将密码中的变量参数化。我们的一个密码在子句中使用,例如

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);
String cypher=“匹配(a),其中{names}中的.name返回a”;
Map params=新的HashMap();
列表名称=新的ArrayList();
//将一些名称添加到名称列表中
参数put(“名称”,名称);
ExecutionResult=engine.execute(密码,参数);
它显然不起作用,如何在操作员中参数化?

neo4j rocks

事情按预期进行。我在代码的其他地方发现了一个bug,否则下面的代码片段就可以正常工作了:

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);
String cypher=“匹配(a),其中{names}中的.name返回a”;
Map params=新的HashMap();
列表名称=新的ArrayList();
//将一些名称添加到名称列表中
参数put(“名称”,名称);
ExecutionResult=engine.execute(密码,参数);

我复制了你的代码片段,它适合我。当你运行它的时候会发生什么?我在其他地方发现了一个导致错误的bug。一切正常