J'essaie d'enregistrer java.util.UUID
à la colonne Cassandra de type timeuuid
. Par exemple, il s'agit d'une correspondance par défaut de spring-data-cassandra: http://docs.spring.io/spring-data/cassandra/docs/current/reference/html/#mapping-conversion. Valeur de UUID est généré par java.util.UUID#randomUUID()
je reçois une exception: "com.datastax.driver.core.exceptions.InvalidQueryException: Invalid version for TimeUUID type"
Cassandra dit "InvalidQueryException: Version invalide pour le type TimeUUID" lors de la sauvegarde de java.util.UUID
L'étude du code à https://svn.apache.org/repos/asf/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/TimeUUIDType.java révèle la raison:
@Override
public void validate(byte[] bytes)
{
if (bytes.length != 16 && bytes.length != 0)
throw new MarshalException(String.format("TimeUUID should be 16 or 0 bytes (%d)", bytes.length));
// version is bits 4-7 of byte 6.
if (bytes.length > 0)
if ((bytes[6] & 0xf0) != 0x10)
throw new MarshalException("Invalid version for TimeUUID type.");
}