【发布时间】:2019-10-24 21:53:00
【问题描述】:
我们最近从 Wildfly 11 迁移到 Wildfly 15,从 Java 8 迁移到 Java 11,并注意到 Jackson 序列化 Date 对象的方式发生了变化。我们使用 Jackson v2.9.8 进行对象序列化和 Spring v5.0.9。
在我们升级之前,日期对象将以 ISO 格式序列化,例如“2019-11-12”但升级后,日期字段开始显示为时间戳,例如“1573516800000”。有没有其他人遇到过这个问题?这是可以在standalone.xml中配置的吗?
Wildfly 11 示例
Wildfly 15 示例
该字段在 MySQL 中配置为 DATE
示例实体
public class Entity implements java.io.Serializable {
@Id
@Column(name = "id")
private Integer id;
@Column(name = "value_date")
private java.sql.Date valueDate;
public java.sql.Date getValueDate() {
return valueDate;
}
public void setValueDate(java.sql.Date valueDate) {
this.valueDate = valueDate;
}
}
编辑:
- 我们已尝试将
java.sql.Date更改为java.util.Date,但没有成功
【问题讨论】:
-
您是否尝试使用 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm a z") 等所需格式对变量进行注释
标签: java spring wildfly java-11 wildfly-15