java - Spring 数据(其余): Date serialization mapping returns a wrong value

标签 java spring postgresql spring-data-jpa spring-data-rest

我使用 Spring Boot 和 Data Rest 在 Java8 中创建一个简单的微服务,并在 JSON 响应中的 Date 属性中获得错误的序列化值。

我的实体:

@Entity
public class ArchivedInvoice implements Serializable {
    ...
    @Column
    private java.util.Date invoiceDate;
    ...
}

我的存储库界面:

@RepositoryRestResource(collectionResourceRel = "archivedinvoices", path = "archivedinvoices")
public interface ArchivedInvoiceRepository extends PagingAndSortingRepository < ArchivedInvoice, Long > {
    ...
        @RestResource(rel = "findByDate", path = "findByDate")
        public Page< ArchivedInvoice > findByInvoiceDate(@Param("invoiceDate") @Nullable @DateTimeFormat(iso = ISO.DATE) Date invoiceDate, Pageable pageable);
    ...
}

Postgres 将属性保存在一个简单的日期中(invoice_date date NOT NULL - '2016-02-22'),但 JSON 响应返回:

  "invoiceDate" : "2016-02-21T23:00:00.000+0000"

如何避免这种情况?

最佳答案

java.util.Date实际上是一个时间戳:

The class Date represents a specific instant in time, with millisecond precision.

如果 SQL 类型是日期,则使用 java.sql.Date。 或者,如果您使用 java 8,则可以尝试使用 java.time.LocalDate。为此,您需要 register Springs JSR310 JPA converters .

关于java - Spring 数据(其余): Date serialization mapping returns a wrong value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35562415/

相关文章:

java - 如何获取LinearLayout的X和Y坐标?

java - 如何使用 Hibernate 进行大量插入?

spring - 在 Spring 中使用 STOMP 和 WebSocket 向特定用户发送消息时检查身份验证

mysql - 如何使用自增整数主键合并多个文件?

java - fragment 点击

java - 为什么我的图像旋转偏离中心?

java - Collections.emptyList() 是 Collections.EMPTY_LIST 的替代品吗?

spring - 使用 JSR 303 处理空值的 Spring MVC Controller 中的验证问题

ruby-on-rails - 如何从 hstore 列中获取二维散列作为输出?

mysql - 无法在 Ubuntu 上的 postgresql 中导入 sql 文件