我正在尝试运行以下查询
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));