java - 按日期排序时如何使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);
所以我基本上是按日期对它们进行排序。问题是,如果我不进行分页,它将返回Date
as 2019-10-09T04:17:49.000+00:00
。这就是我想要的,因为这是每个使用它的人都期望它返回的东西。但是,每当我使用分页时,它都会将日期作为epoch
时间返回。我自己并没有真正的问题,但这是一个遗留应用程序,很多都依赖于它,所以我想把它改回初始格式。
笔记:是的,我知道。不推荐日期,我知道它很旧。但这是一个遗留项目,我尝试将其更改为 LocalDateTime ,不幸的是我没有足够的资格作为意大利面厨师。
解决方案
推荐阅读
- java - 无法在 Java 中加载静态库 - UnsatisfiedLinkError:无效的 ELF 标头(可能的原因:字节序不匹配)
- angular - input type=date in not working in Internet Explorer 11 for my angular 7 project
- ionic-framework - 需要在 Ionic 4 中将点击的图像捕获为 base64
- javascript - Rails 6 SPA ActiveStorage 无效的请求参数:UTF-8 中的无效字节序列
- node.js - 如何在 gitlab ci 中测试微服务的交互?
- javascript - Angular 的最佳实践
- swift - 从 UICollectionViewCell 滚动统计时,UICollectionView 不滚动
- pdf - 无法弄清楚为什么我的 PDF 签名没有启用 LTV
- c# - hyperv wmi 如何将参数作为字符串传递?
- elasticsearch - 使用 Elasticsearch 搜索精确匹配的文本