gpt4 book ai didi

java - 坚持后 JPA 实体 CreateTimestamp 为空

转载 作者:行者123 更新时间:2023-11-30 10:25:26 25 4
gpt4 key购买 nike

我有一个实体,其字段名为 createTimestamp。这是由数据库在插入时创建的。 getter 看起来像这样:

@Column(name = "create_timestamp", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP", insertable = false)
public ZonedDateTime getCreateTimestamp() {
return createTimestamp;
}

但是,当我的服务调用 dao(spring 存储库)创建实体时,创建时间戳为空。

我创建的dao方法:

@Override
public int insert(AntennaSpec antennaSpec) {
super.save(antennaSpec);
logger.info("Antenna Spec " + antennaSpec.getAntennaCode() + " created");
return antennaSpec.getAntennaSpecId();
}

我的 REST 资源类通过调用 create 方法调用服务来创建实体。该方法返回新创建的实体的 ID。在资源中,我然后调用我的服务以返回传递 id 的实体,但创建时间戳为空。我为让它填充所做的工作是在我的资源中,我已经分离了实体,然后再次获取实体。这行得通,但我不喜欢将 detach 暴露给我的服务或资源类。

如有任何帮助,我们将不胜感激。

最佳答案

这是在 spring 中创建时间戳的另一种方式:

@CreationTimestamp
@Column(name = "create_timestamp")
private Date createTimestamp;

关于java - 坚持后 JPA 实体 CreateTimestamp 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46226884/

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