如何在springframework.data.domain.sort中仅对一天进行即时排序

问题描述

我需要按以下条件对数据库中的某些列进行排序:首先按日期排序,如果同一天是两天,则按其他日期排序...我数据库中的列日期为即时类型(我使用MysqL)。

我使用springframework的排序方法来实现:

Sort.by(Sort.Order.asc("date"),Sort.Order.asc("abc"),...);

问题是当两天是同一天却是不同的小时(例如:2020-09-29 01:56:06.887142和2020-09-29 13:24:02.211884)时,它仍对日期进行排序(按小时,分钟,秒)。

我如何仅使用springframework.data.domain的Sort方法和Instant类型对日期进行排序?

解决方法

您可以尝试使用本机查询来调用SQL的datetime函数的另一种方法,如下所示:

@Query(value = "select * from `2wp_user` u order by DATE(u.created_date)",nativeQuery = true)
List<User> findAllUserCustom();