2017-02-02 24 views
0

我已经生成了使用cassandra作为db的Microservice jhpister API。我已经使用yo jhipster生成了实体:entity entityname。在生成字段时,我将ZonedDateTime作为字段CreatedOn的数据类型。所以它在Cassandra表中创建TimeStamp作为数据类型,并在ZonedDateTime中创建java实体。我一直在使用BindStatement如何将java ZonedDateTime值设置为Cassandra Timestamp字段

BatchStatement batch = new BatchStatement(); 
batch.add(insertStatement.bind() 
.setTimestamp("createdOn", existingWorkAssignment.getCreatedOn()); 

一些自定义插入代码,但这个产生编译它说不能解析方法监守我们设置的值是zoneddatetime但内部Cassandra的数据类型是时间戳时间误差。请帮忙

回答

0

先将ZonedDateTime值转换为Timestamp所设定的值。

试着这样做。 实施例:

ZonedDateTime dateTime =ZonedDateTime.from(ZonedDateTime.now()); 
Timestamp timestamp = Timestamp.valueOf(dateTime.toLocalDateTime()); 
System.out.println(timestamp); 

在你的情况

BatchStatement batch = new BatchStatement(); 
batch.add(insertStatement.bind() 
    .setTimestamp("createdOn", Timestamp.valueof(existingWorkAssignment.getCreatedOn().toLocalDateTime()); 
相关问题