首页 > 解决方案 > 按日期排序时如何使JPA分页返回日期而不是纪元?

问题描述

我正在处理一个遗留项目,我会尽量缩短它。我有这个Entity有一个字段

private Date createdAt;

然后我在我的JpaRepository扩展中定义了一个实现:

Page<Entity> findAllByUserId(Long userId, Pageable pageable);

在调用它时,我这样做:

Sort direction = order != null && order.equalsIgnoreCase("ASC")
      ? Sort.by("createdAt").ascending()
      : Sort.by("createdAt").descending();
PageRequest pageRequest = PageRequest.of(page - 1, size, direction);

所以我基本上是按日期对它们进行排序。问题是,如果我不进行分页,它将返回Dateas 2019-10-09T04:17:49.000+00:00。这就是我想要的,因为这是每个使用它的人都期望它返回的东西。但是,每当我使用分页时,它都会将日期作为epoch时间返回。我自己并没有真正的问题,但这是一个遗留应用程序,很多都依赖于它,所以我想把它改回初始格式。

笔记:是的,我知道。不推荐日期,我知道它很旧。但这是一个遗留项目,我尝试将其更改为 LocalDateTime ,不幸的是我没有足够的资格作为意大利面厨师。

标签: javaspringspring-bootpagination

解决方案


推荐阅读