【发布时间】:2019-09-30 14:12:14
【问题描述】:
有下表
"CREATE TABLE IF NOT EXISTS user_preferences (" +
" user_id text," +
" my_duration duration," +
" last_modified timestamp," +
" primary key((id))" +
");";
当试图坚持以下模型时
import com.datastax.driver.mapping.annotations.Column;
import com.datastax.driver.mapping.annotations.PartitionKey;
import com.datastax.driver.mapping.annotations.Table;
import java.time.Duration;
@Table(name = "user_preferences")
public class UserPreferences {
@PartitionKey
@Column(name = "user_id")
private String userId;
@Column(name = "my_duration")
private Duration myDuration;
@Column(name = "last_modified")
private Date lastModified;
}
我得到这个编解码器未找到异常。
com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [duration <-> java.time.Duration]
at com.datastax.driver.core.exceptions.CodecNotFoundException.copy(CodecNotFoundException.java:57) ~[cassandra-driver-core-3.6.0.jar:na]
at com.datastax.driver.core.exceptions.CodecNotFoundException.copy(CodecNotFoundException.java:25) ~[cassandra-driver-core-3.6.0.jar:na]
at com.datastax.driver.mapping.DriverThrowables.propagateCause(DriverThrowables.java:39) ~[cassandra-driver-mapping-3.6.0.jar:na]
at com.datastax.driver.mapping.Mapper.save(Mapper.java:356) ~[cassandra-driver-mapping-3.6.0.jar:na]
注意:读取工作正常可能是因为该表尚未填充。
Datastax-core 3.3.2 支持 java.time.Duration 吗?
【问题讨论】:
-
请详细说明您的问题,以便人们可以帮助您。
标签: java cassandra datastax duration