使用jhipster默认设置实体的创建日期和更改日期

时间:2017-12-31 17:36:23

标签: mysql angular date jhipster

我正在尝试默认设置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)。

有人知道这个问题的可能解决方案吗?

1 个答案:

答案 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,您可以使用这些注释自动为您设置审核日期。

如上所述:您应该使用LocalDateZonedDateTime代替Instant