未加载JPA / Hibernate自动生成的时间戳字段

时间:2017-06-01 21:23:14

标签: hibernate jpa spring-boot spring-data spring-data-jpa

在我的实体中,我有两个字段 -

@Temporal(TemporalType.TIMESTAMP)
@Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
private Date created;

@Temporal(TemporalType.TIMESTAMP)
@Column(columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
private Date updated;

创建新实体时会填充这两个字段(我已检查过DB)。但不幸的是,在实体被持久化之后,这些字段没有加载到实体(我的意思是对象),如果我获取实体,这些字段都不会被加载。

我正在使用spring-boot and spring-boot-starter-data-jpa of version 1.5.3-RELEASEMySQL

感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

对于创建和更新时间戳,您可以使用以下代码

<强>创作

@CreationTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "CREATED", updatable = false)
private Date Created;

<强>更新用

@UpdateTimestamp
@Column(name = "UPDATED")
@Temporal(TemporalType.TIMESTAMP)
private Date Updated;