我正在尝试默认设置jhipster中实体上次更改的创建日期和日期。我正在使用MySQL数据库。
我的实体Java代码:
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "creation_date", nullable = false, updatable = false)
@JsonIgnore
private Instant creationDate = Instant.now();
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "change_date", nullable = false)
@JsonIgnore
private Instant changeDate = Instant.now();
我的Html组件:
<td>{{project.creationDate | date:'YYYY-MM-DD'}}</td>
<td>{{project.changeDate | date:'YYYY-MM-DD'}}</td>
MySQL中的数据类型是“日期”。 MySQL表中的字段工作正常。但是前端(Angular)没有显示日期。相反,日期只有一个空字段。我已经尝试了一些不同的格式和数据类型(LocalDate,Date)。
有人知道这个问题的可能解决方案吗?
答案 0 :(得分:0)
问题是:您在该字段上有@JsonIgnore
注释。此批注将阻止该字段序列化为JSON。因此,前端的REST结果中只缺少您的日期。
要验证这一点,您可以在前端显示整个JSON-Object,或者深入了解服务器发送的HTTP响应,例如:使用chrome dev工具或类似cURL的程序...
提示创建时间戳:
您可以查看JPA审核内容,例如:这里:
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#auditing
有两个注释,例如@CreatedDate
和@LastModifiedDate
,您可以使用这些注释自动为您设置审核日期。
如上所述:您应该使用LocalDate
或ZonedDateTime
代替Instant
。