Hibernate@用于按顺序从时间戳到日期转换的公式

Hibernate@用于按顺序从时间戳到日期转换的公式,hibernate,jpql,Hibernate,Jpql,我已经解决了这个问题,但我并没有取得太大的成功,只是寻找我的最终解决方案,也许有不止一种方法可以做到这一点,但我想分享我的想法,也许它会有一些用处 我的问题是Hibernate,我正在执行一个具有分页的查询,结果集需要按特定顺序排序。排序是使用记录创建日期,但这是一个时间戳,精确到毫秒,我们希望日-月-年是相等的。时间戳可以相隔几小时或几毫秒,但如果两者都在2000年6月5日,则应视为相等。我发现了很多关于如何从日期中提取年、月或日的信息,但实际上并没有进行转换。那么我该怎么做呢?这基本上是一个

我已经解决了这个问题,但我并没有取得太大的成功,只是寻找我的最终解决方案,也许有不止一种方法可以做到这一点,但我想分享我的想法,也许它会有一些用处


我的问题是Hibernate,我正在执行一个具有分页的查询,结果集需要按特定顺序排序。排序是使用记录创建日期,但这是一个时间戳,精确到毫秒,我们希望日-月-年是相等的。时间戳可以相隔几小时或几毫秒,但如果两者都在2000年6月5日,则应视为相等。我发现了很多关于如何从日期中提取年、月或日的信息,但实际上并没有进行转换。那么我该怎么做呢?

这基本上是一个计算字段,因此@Formula注释就出现了。我在SQL server中发现了转换函数,它实现了我想要的功能。把它加入到公式中有点诡计。我想到了这个:

@Formula("convert( \"date\", Date_Time_Created ) ")

将date本身作为成员变量处理,只需将单引号“date”作为“date”直接添加到SQL中,但将双引号作为转义符添加到SQL中会导致SQL中的“date”,但这是有效的

JPA没有这样的
@公式
,因此建议您根据您的评论修改标题。标题是“Hibernate@Formula…”。导入语句为:import org.hibernate.annotations.Formula;你提到的是JPA。你的标题是“JPA@Formula”,我要求你更改它。什么也没发生,所以我自己改了。