2013-10-03 8 views
4

У меня есть одна колонка в пространстве ключей cassandra, которая имеет тип timeuuid. Когда я пытаюсь вставить рекокорд из java-кода (используя DataStax java driver1.0.3). Я получаю следующее исключениеКак вставить timeuuid в cassandra с помощью драйвера datastax java ИЛИ Неверная версия для TimeUUID

com.datastax.driver.core.exceptions.InvalidQueryException: Invalid version for TimeUUID type. 
    at com.datastax.driver.core.exceptions.InvalidQueryException.copy(InvalidQueryException.java:35) 
    at com.datastax.driver.core.ResultSetFuture.extractCauseFromExecutionException(ResultSetFuture.java:269) 
    at com.datastax.driver.core.ResultSetFuture.getUninterruptibly(ResultSetFuture.java:183) 
    at com.datastax.driver.core.Session.execute(Session.java:111) 

Вот мой пример кода:

PreparedStatement statement = session.prepare("INSERT INTO keyspace:table " + 
      "(id, subscriber_id, transaction_id) VALUES (now(), ?, ?);"); 

BoundStatement boundStatement = new BoundStatement(statement); 

Session.execute(boundStatement.bind(UUID.fromString(requestData.getsubscriberId()), 
      requestData.getTxnId())); 

Я также пытался использовать UUIDs.timeBased() вместо now(). Но я получаю такое же исключение.

Любая помощь в отношении того, как вставить/прочитать от timeuuid тип данных будет оценен по достоинству.

ответ

2

По ошибке я создал

id uuid 

Вот почему, когда я пытаюсь вставить timeuuid в поле uuid типа я получаю это исключение.

Теперь я изменил тип id на timeuuid, и все работает нормально.

 Смежные вопросы

  • Нет связанных вопросов^_^