gpt4 book ai didi

java - 在 Spring 数据实体中填充 "created"列

转载 作者:行者123 更新时间:2023-11-30 04:28:46 28 4
gpt4 key购买 nike

@javax.persistence.Column(name = "created", nullable = false, insertable = true, updatable = true, length = 19, precision = 0)
@Basic
public Timestamp getCreated() {
return created;
}

public void setCreated(Timestamp created) {
this.created = created;
}

我有这个实体,我希望 MySQL 提供创建的时间戳。我尝试添加 @GenerateValuenullable = true ,但在保存时仍然失败,说该值不能为空。

我知道我的实体正在传递 null,因为这是默认值,因此 MySQL 会抛出错误,因为我试图传递 null 并且它没有设置为 NULl 字段。

但是,我可以在 java 对象级别解决这个问题吗?比如说,保存实体时不提交 created 列?

最佳答案

使用 @PrePersist处理程序来初始化该字段。初始化将在保存实体之前完成,从而避免空指针异常。

@PrePersist
protected void beforeCreate() {
if(created == null)
created = new Timestamp(System.currentTimeMillis());
}

关于java - 在 Spring 数据实体中填充 "created"列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15146022/

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