我一直试图将时间戳值存储到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中没有毫秒?
1条答案
按热度按时间dsf9zpds1#
我在表模式中错误地定义了日期而不是时间戳,这是我的错误。