在Datastax Cassandra CQL驱动程序的IN子句中收集的准备声明

我正在尝试运行以下查询
SELECT edge_id,b_id FROM booking_by_edge WHERE edge_id IN ?

我绑定Long的Java列表作为参数,我得到一个异常

SyntaxError: line 0:-1 mismatched input '<EOF>' expecting ')' (ResultSetFuture.java:242)

如果我尝试使用(?)它期望单个长项目被绑定,但我需要一个集合

我的语法有错误吗?

解决方法

在Cassandra 2.1.3中测试,以下代码片段的作用如下:
PreparedStatement prepared = session.prepare("SELECT edge_id,b_id FROM booking_by_edge WHERE edge_id IN ?;");
List<Long> edgeIds = Arrays.asList(1L,2L,3L);
session.execute(prepared.bind(edgeIds));

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...