0
J'ai une table dans Cassandra que j'essaie d'itérer et d'extraire des choses. J'utilise le pilote datastax java 3.1.0.Codec non trouvé pour l'opération demandée: [horodatage <-> java.util.UUID]
CREATE TABLE test (
client_id int,
process_id text,
last_modified_date timestamp,
PRIMARY KEY ((client_id), process_id)
)
Voici le code:
private List<MetaHolder> getMetaHolder() {
List<MetaHolder> metaHolder = new ArrayList<>();
String sql = "select * from test where client_id=1";
try {
BoundStatement bs = Cache.getInstance().getStatement(sql);
bs.setConsistencyLevel(ConsistencyLevel.QUORUM);
ResultSet res = session.execute(bs);
Iterator<Row> rows = res.iterator();
while (rows.hasNext()) {
Row row = rows.next();
String processId = row.getString("PROCESS_ID");
// this line throws exception
UUID lastModifiedDate = row.getUUID("LAST_MODIFIED_DATE");
MetaHolder metadata =
new MetaHolder(processId, lastModifiedDate);
metaHolder.add(metadata);
}
} catch (Exception ex) {
LOGGER.logError("error= ", ExceptionUtils.getStackTrace(ex));
}
return metaHolder;
}
ci-dessous est l'exception:
error= com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [timestamp <-> java.util.UUID]
Est-il possible que je peux utiliser JodaTime en créant un codec si possible au lieu d'utiliser UUID ici dans mon code?
'Incompatibilité de type: ne peut pas convertir LocalDate à Date'. J'ai déjà essayé et c'est l'erreur que je recevais. Je voulais aussi utiliser JodaTime ici, donc je peux le faire en créant un codec mais je ne sais pas comment .. – john
Ouais mais ma question était aussi comment puis-je utiliser JodaTime au lieu de le prendre comme date. Je lisais [this] (http://docs.datastax.com/en/developer/java-driver/3.1/manual/custom_codecs/extras/) mais je n'ai pas suivi. – john