с помощью драйвера Datastax Cassandra QueryBuilder.insertInto( ).
Другие связанные вопросы настолько старые и связаны со старым драйвером, что я хотел опубликовать новый.
Я уже что-то пробовал нравится:
Код: Выделить всё
RegularInsert insert = QueryBuilder.insertInto("table1")
.value("id", QueryBuilder.literal("someid"))
.value("data", QueryBuilder.literal("somedata"));
insert.usingTtl(bindMarker("ttl"));
SimpleStatement simple = insert.build().setExecutionProfileName(CassandraClient.SAFE_OPTIONS_PROFILE);
PreparedStatement preparedStatement = context.getCassandraClient().getSession().prepare(simpleStatement);
BoundStatement boundStatement = preparedStatement.bind().setInt("ttl", ttl);
CompletionStage future = context.getCassandraClient().getSession().executeAsync(boundStatement);
Код: Выделить всё
java.lang.IllegalArgumentException: ttl is not a variable in this bound statement
ОБНОВЛЕНИЕ:
Мой текущий хак заключается в внедрении ИСПОЛЬЗОВАНИЯ TTL с помощью такого кода:
Код: Выделить всё
String cqlQueryWithTtl = insert.asCql() + " USING TTL " + ttl;
Подробнее здесь: https://stackoverflow.com/questions/792 ... ava-driver