java - Spring Data REST - POST 后的 Null 字段 - 我应该何时/在何处初始化它们?
问题描述
我的 NoteRepository 扩展了 CrudRepository<Note, Long>。Note 具有标题、noteBody 和 dateCreated。对 /notes 的 POST 请求将包括标题和 noteBody,并且我希望 dateCreated 自动成为 LocalDateTime.now()。
是否可以接受
@Entity
public class Note {
...
@Column(name="DTCREATED")
private LocalDateTime dateCreated = LocalDateTime.now();
还是我应该以不同的方式来做?
解决方案
您不需要LocalDateTime
手动初始化实例,您可以使用新的注释来做到这一点;
@CreationTimestamp
@Column(name = "create_datetime", nullable = false, updatable = false)
private LocalDateTime createDateTme;
@UpdateTimestamp
@Column(name = "lastupdate_datetime", nullable = false)
private LocalDateTime lastUpdateDateTime;
这些注释在org.hibernate.annotations
包中可用。当您保存实体的实例时,不要初始化它们。
推荐阅读
- java - Spring Boot 2.0 / OAuth2 / JWT / Zuul / 微服务
- javascript - 将 blob MIME 类型设置为 wav 仍会导致 webM
- java - 如何在电子邮件中嵌入图像?
- python - 从另一个数据框中获取列并在新数据框中返回的函数
- git - 非常规的 Git 重命名/移动
- laravel - Laravel - 在没有弱表的情况下建立 hasMany like 关系
- plsql - 如何定义游标,当我们在两个表之间有一个公共列而不给出别名时
- gcc - 在armv7中生成ELF文件,在armv6中生成.o文件,同时使用-march=armv6,为什么?
- r - `ifelse` 语句根据匹配的字符串返回多列
- php - 从字符串中查找和替换特定数字