Я пытался сохранить значение метки времени до миллисекунды в 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
напрямую, но он не работает.
Почему в Кассандре нет миллисекунд?