Я пытаюсь использовать класс org.springframework.jdbc.core.simple.SimpleJdbcInsert
для вставки в таблицу Кассандры, которую я построил следующим образом:
CREATE TABLE test.profs(id text PRIMARY KEY,
accountid text,
enable boolean,
modifieddate bigint,
name text,
rules set<text>)
Когда я отправляю следующий запрос:
{
"name": "a",
"rules": [
"s", "22",
"ss",
"sfsf"
],
"enable": true,
"accountId": "sss"
}
(он создает идентификатор, не беспокойтесь - проверено)
Но когда я пытаюсь вставить, выдает следующее исключение: PreparedStatementCallback; SQL [INSERT INTO test.profs (accountId, enable, id, modifiedDate, name, rules) VALUES(?, ?, ?, ?, ?, ?)the column index : 7 is greater than the count of bound variable markers in the CQL: 6; nested exception is java.sql.SQLRecoverableException: the column index : 7 is greater than the count of bound variable markers in the CQL: 6
Я думаю, что это как-то связано сстолбец rules
, поскольку, когда я пытаюсь вставить массив из одного элемента, он успешно выполняется.
РЕДАКТИРОВАТЬ:
Я пытался использовать следующий класс:
@Data
@AllArgsConstructor
private class CollectionHolder {
private Collection<?> collection;
@Override
public String toString() {
StringBuilder list = new StringBuilder("{");
for (Object obj : collection) {
list.append(obj.toString());
list.append(',');
}
list.delete(list.length()-1, list.length());
list.append('}');
return list.toString();
}
}
И, похоже, все прошло успешно, но теперь rules
вставляется как ноль..
Любая помощь?