Кассандра усекает миллисекунды с LocalDate - PullRequest
0 голосов
/ 13 апреля 2020

Я пытался сохранить значение метки времени до миллисекунды в Cassandra, но я могу получить только до LocalDate драйвером DataStax, часть миллисекунды пропускается им.

Это мой класс

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 напрямую, но он не работает.

Почему в Кассандре нет миллисекунд?

1 Ответ

0 голосов
/ 13 апреля 2020

Я ошибочно определил дату в своей табличной схеме вместо метки времени, моя ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...