Я знаю, что кто-то задавал этот вопрос (http://www.datastax.com/support-forums/topic/java-driver-cql-3-bound-statements-in-clause#post-13114, Подготовленный оператор со сбором в предложении IN в драйвере Datastax Cassandra CQL)
Однако я до сих пор не знаю, как привязать данные. например, мое подготовленное заявление
select * from cf where key in (?)
Я хочу привязать данные, а cql выглядит как
select * from cf where key in ('key1', 'key2')
Теперь у меня есть связанное заявление.
когда я использую boundStatment.bind () api. Пытаюсь привязать? со списком или массивом, однако, он говорит:
Значение столбца имеет тип varchar, не может быть установлено в список
Хорошо, я установил строку и использую boundStatement.bind вот так:
boundStatement.bind("'key1','key2'");
Нет никаких исключений, но resultSet пуст. Почему? Я думаю, потому что драйвер разбирает это как
select * from cf where key in (''key1', 'key2'')
(обратите внимание на повторяющуюся цитату, потому что она считает, что все «ключ1» и «ключ2» являются строкой).
Итак, я знаю, что в статье есть поддержка datastax. но я не могу найти несколько примеров ..
Кто-нибудь может мне помочь? Спасибо!