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

前端之家收集整理的这篇文章主要介绍了在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));

猜你在找的Java相关文章