当前位置: 首页 > 知识库问答 >
问题:

Spring&Couchbase-找不到能够将类型[java.lang.long]转换为类型[java.sql.timestamp]的转换器

钱选
2023-03-14
@Document
class Cat{

@Id
@GeneratedValue(strategy = GenerationStrategy.UNIQUE)
private String id;

@Field
Timestamp birthdateTimestamp;
 Timestamp currentTimestamp = new Timestamp(new Date().getTime());
 Cat cat = Cat.builder().birthdateTimestamp(currentTimestamp).build();
 catRepository.save(cat);  // extends CouchbaseRepository<Cat, String>

并且可以在DB中正确地看到该字段-“birthdatetimestamp”:1564570366644

但是,当尝试从DB读取cat时,我们会得到以下错误:

我们做错了什么?

共有1个答案

储毅
2023-03-14

看起来该值是以纪元格式存储在DB中的。

您可以将其存储为长时间,而不是尝试将历元直接转换为sql时间戳。

@Field
long birthdateTimestamp;

然后,要将epoch格式转换为sql时间戳,可以使用如下所示的内容。

new Timestamp(object.getBirthdateTimestamp())
 类似资料: