cassandra用localdate截断毫秒

d8tt03nd  于 2021-06-09  发布在  Cassandra
关注(0)|答案(1)|浏览(343)

我一直试图将时间戳值存储到cassandra中的毫秒,但是我只能通过datastax驱动程序获取localdate,毫秒部分被它省略了。
这是我的课

package com.example.connectCass.Model;

import lombok.Data;
import org.springframework.data.cassandra.core.cql.PrimaryKeyType;
import org.springframework.data.cassandra.core.mapping.Column;
import org.springframework.data.cassandra.core.mapping.PrimaryKeyColumn;
import org.springframework.data.cassandra.core.mapping.Table;
import com.datastax.driver.core.LocalDate;

import java.util.Date;

@Data
@Table
public class DemoModel {

    @PrimaryKeyColumn(name = "acctID", type = PrimaryKeyType.PARTITIONED)
    private String acctID;
    @PrimaryKeyColumn(name = "transactionDate", type = PrimaryKeyType.PARTITIONED)
    private LocalDate transactionDate;
    @PrimaryKeyColumn(name = "currentTime", type = PrimaryKeyType.CLUSTERED)
    private LocalDate currentTime;

    @Column
    private String card;

    @Column
    private String amountCreditedFrom;

    @Column
    private double transactionAmount;

    @Column
    private double balance;

    public void setTransactionDate(){
        this.transactionDate = LocalDate.fromMillisSinceEpoch(new Date().getTime());
    }

    public void setCurrentTime(){
        this.currentTime = LocalDate.fromMillisSinceEpoch(new Date().getTime());
    }
}

setCurrentTime 方法,我想时间到毫秒,但做不到,只能到今天的日期。试过了 java.util.Date 但它不起作用。
为什么在Cassandra中没有毫秒?

dsf9zpds

dsf9zpds1#

我在表模式中错误地定义了日期而不是时间戳,这是我的错误。

相关问题