我尝试使用IN子句和Spring Data中的@Query注释查询Cassandra表
我在init方法中的查询 -
session = cassandraSessionFactory.getSession();
statementmyList = session.prepare("select * from my_file_content where my_content IN (?);");
尝试使用boundStatement绑定查询 -
final BoundStatement boundStatement = DaoConstants.getBoundStatement(statementmyList);
try
{
List<Row> rowList =
session
.execute(
boundStatement
.bind(myList))
.all();
// myList = "'04748558-0eb3','531aaf2bf6b782f95e2e','6fc98ac2'"
}
rowList返回空数组。我在这做错了什么?
答案 0 :(得分:0)
问题是,如果要绑定完整列表,则不需要括号,所以它应该是:
session = cassandraSessionFactory.getSession();
statementmyList = session.prepare("select * from my_file_content where my_content IN ?;");
如果您提供单个值,则 (?)
会有效,但如果您要提供集合,则需要?
。