【发布时间】:2020-11-14 12:35:12
【问题描述】:
我正在使用带有 mapperd 的 datastax java 驱动程序
我想将纪元保存为时间戳
device_id | timestamp
--------------------------
2323 | 1595077868994000
122112 | 2020-07-25 05:30:00.000000+0000
目前我使用的是 ZonedDate 时间。但是当我通过 java 代码插入记录时,它会保存为纪元,如第 1 行所示
insert into table (device_id , timestamp ) VALUES ('122112',toTimestamp(toDate(now()))) ;
但是,当我使用上述查询插入时,它以更易读的格式存储时间戳 如何配置 datastax 驱动程序以可读格式存储时间戳
这是我的实体
public class Table {
@PartitionKey(value = 0)
private String deviceId;
private Instant timestamp;
Instant 是唯一一个具有时间戳的编解码器。我只想以毫秒精度将时间戳存储到数据库中,并希望它在 UI 上易于阅读
那我正在使用 Object Mapper 、 Dao 和刚刚调用的 Save 方法
@Dao
public interface TableDao {
@Insert
boolean save(Table table);
}
【问题讨论】:
-
timestamp列不是timestamp类型吗?如果不是,这是一个很好的理由。 -
CREATE TABLE 表(device_id 文本,timestamp 时间戳
-
它的时间戳列
-
好的。那么相关的 Java 代码是什么样的呢?
-
我有更新代码。我没有找到任何可以直接使用的 java.util.Date 编解码器
标签: cassandra datastax-java-driver