gpt4 book ai didi

java - MongoDB 添加 createAt UpdatedAt 字段 java

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

我有兴趣知道如何在使用java同步驱动程序时在mongo上拥有createdAt和updatedAt字段。

我知道如何在 Mongoose 中做到这一点

const SchemaName = new Schema({
//myschema
}, {
timestamps: true
})

我想知道如何在 java 中实现相同的目标,我知道一种可能性,即在模式中拥有createdAt和updatedAt字段并在插入和更新期间更新值?

最佳答案

您可以使用javax.persistence注解,使用 @PrePersist 和 @PreUpdate。

@PrePersist

它将在将数据持久化到数据库之前调用,updatable = false 只会记录一次。

@PreUpdate

在数据库中插入数据之前会调用,每次插入都会调用。

您的实体需要继承下面的 AbstractEntity 类:

    @MappedSuperclass
public class AbstractEntity implements Serializable {

private static final long serialVersionUID = -8087154111957605234L;

@Column(name = "CREATED_AT", updatable=false)
private Date createdAt;

@Column(name = "UPDATED_AT")
private Date updatedAt;

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

@PrePersist
protected void onCreate() {
createdAt = new Date();
}

@PreUpdate
protected void onUpdate() {
updatedAt = new Date();
}
}

关于java - MongoDB 添加 createAt UpdatedAt 字段 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60568590/

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