问题描述
我需要按以下条件对数据库中的某些列进行排序:首先按日期排序,如果同一天是两天,则按其他日期排序...我数据库中的列日期为即时类型(我使用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();