gpt4 book ai didi

java - 如何在自定义对象类中设置 @ServerTimestamp 注释 - Firestore

转载 作者:行者123 更新时间:2023-12-01 16:47:47 25 4
gpt4 key购买 nike

我的 Firestore 数据库中有一个时间戳字段,格式如下:Quarta-feira, 11 de Outubro de 2017 às 10:24:54 GMT-03:00

定义为:ma​​p.put("timestamp", FieldValue.serverTimestamp());

根据Firestore说明,您需要直接向模型类添加注释。

我的类(class)中有字符串形式的时间戳字段。我尝试使用时间戳,但它不起作用

解决这个问题的最佳方法是什么?

代码类模型:

public class Servicos {

private String nome_produto;
private String duracao;
private String valor;
private String valor_old;
private String categoria;
private String categoria_nome;
private String sub_categoria;
private String sub_categoria_nome;
private String descricao;
private String duracao_milis;
private String timestamp;

public Servicos() {
}

public Servicos(String nome_produto, String duracao, String valor, String valor_old,
String categoria, String categoria_nome, String sub_categoria, String sub_categoria_nome,
String descricao, String duracao_milis, String timestamp){

this.nome_produto = nome_produto;
this.duracao = duracao;
this.valor = valor;
this.valor_old = valor_old;
this.categoria = categoria;
this.categoria_nome = categoria_nome;
this.duracao_milis = duracao_milis;
this.sub_categoria = sub_categoria;
this.sub_categoria_nome = sub_categoria_nome;
this.descricao = descricao;
this.timestamp = timestamp;

}

public String getNome_produto() {
return nome_produto;
}

public void setNome_produto(String nome_produto) {
this.nome_produto = nome_produto;
}

public String getDuracao() {
return duracao;
}

public void setDuracao(String duracao) {
this.duracao = duracao;
}

public String getValor() {
return valor;
}

public void setValor(String valor) {
this.valor = valor;
}

public String getValor_old() {
return valor_old;
}

public void setValor_old(String valor_old) {
this.valor_old = valor_old;
}

public String getCategoria() {
return categoria;
}

public void setCategoria(String categoria) {
this.categoria = categoria;
}

public String getCategoria_nome() {
return categoria_nome;
}

public void setCategoria_nome(String categoria_nome) {
this.categoria_nome = categoria_nome;
}

public String getSub_categoria() {
return sub_categoria;
}

public void setSub_categoria(String sub_categoria) {
this.sub_categoria = sub_categoria;
}

public String getSub_categoria_nome() {
return sub_categoria_nome;
}

public void setSub_categoria_nome(String sub_categoria_nome) {
this.sub_categoria_nome = sub_categoria_nome;
}

public String getDescricao() {
return descricao;
}

public void setDescricao(String descricao) {
this.descricao = descricao;
}

public String getDuracao_milis() {
return duracao_milis;
}

public void setDuracao_milis(String duracao_milis) {
this.duracao_milis = duracao_milis;
}

public String getTimestamp() {
return timestamp;
}

public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
}

引用 Firestore 文档:Link Firestore

// If you're using custom Java objects in Android, add an @ServerTimestamp
// annotation to a Date field for your custom object classes. This indicates
// that the Date field should be treated as a server timestamp by the object mapper.

DocumentReference docRef = db.collection("objects").document("some-id");

// Update the timestamp field with the value from the server
Map<String,Object> updates = new HashMap<>();
updates.put("timestamp", FieldValue.serverTimestamp());

docRef.update(updates).addOnCompleteListener(new OnCompleteListener<Void>() {
// ...
// ...

最佳答案

下面是如何将 ServerTimestamp 与自定义 Java 类一起使用的示例:

public class Rating {

private String userId;
private @ServerTimestamp Date timestamp;

public Rating() {}

public String getUserId() {
return userId;
}

public void setUserId(String userId) {
this.userId = userId;
}

public Date getTimestamp() {
return timestamp;
}

public void setTimestamp(Date timestamp) {
this.timestamp = timestamp;
}
}

关于java - 如何在自定义对象类中设置 @ServerTimestamp 注释 - Firestore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46690142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com