hibernate - 当我从 POST 方法更新它时,@CreationTimestamp 列设置

我试图在我的数据库中设置一个字段来写入修改行的日期。为此,我使用了 Hibernate 提供的注解。

当我通过 POST 方法创建行时,它工作正常。它用相同的值(显然)填充两列(创建和修改)。

当我更新实体(POST)时出现问题。因此,“modified_date”列更新日期,但“created_date”设置为空。

这是由用户实体扩展的我的 EntityBase

@MappedSuperclass
public class EntityBase {

@JsonProperty("_version")
@Column(name="_version")
@Version
private Integer version = 0;

@Column(name= "CREATION_DATE", nullable = false)
@CreationTimestamp
private LocalDateTime createDateTime;

@Column(name= "UPDATED_TIME")
@UpdateTimestamp
private LocalDateTime updateDateTime;

~~ getters & setters ~~

每当我发帖时,Hibernate 似乎在生成的查询中输入了一个空值,这就是@Column 中可空属性的原因

这是我的用户实体

@Entity
@Table(name="user")
public class User extends EntityBase {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@JsonProperty("id")
private String id;

@Column(name="NAME")
@JsonProperty("name")
private String name;

@Column(name="SURNAME")
@JsonProperty("surname")
private String surname;

@Column(name="EMAIL")
@JsonProperty("email")
private String email;

@Column(name="PASSWORD")
@JsonProperty("password")
private String password;

//bi-directional many-to-one association to Client
@ManyToOne
@JoinColumn(name="CURRENT_CLIENT_ID")
@JsonProperty("current_client_id")
private Client currentClientId;

@Column(name="INCORPORATION_DATE")
@JsonProperty("incorporation_date")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone="Europe/Madrid")
private LocalDate incorporationDate;

@Column(name="WORKING_TIME_START")
@JsonProperty("working_time_start")
private LocalTime workingTimeStart;

@Column(name="WORKING_TIME_FINISH")
@JsonProperty("working_time_finish")
private LocalTime workingTimeFinish;

@Column(name="MEAL_TIME")
@JsonProperty("meal_time")
private LocalTime mealTime;

我做错了什么?提前致谢!

最佳答案

您可以使用以下定义来避免字段被更新:

@Column(name= "CREATION_DATE", nullable = false, updatable = false)

关于hibernate - 当我从 POST 方法更新它时,@CreationTimestamp 列设置为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55534091/

相关文章:

python - 如何更改 Rstudio 中的默认 python 版本/路径

php - Yii2:如何禁用或只读 Select2 小部件?

list - Haskell:列表操作

python - Django createsuperuser 抛出 django.core.exc

csv - 将 CSV 文件导入为矩阵

java - 修复 Java newInstance() 已弃用

python - MacOS 构建问题 lstdc++ not found while buildi

reactjs - 就像在 React Hooks 中一样,给初始值一个空对象

java - 如何用 java 将换行符替换为 "\n"?

reactjs - 如何在 ant design 的模态页脚上添加另一个按钮?