HQL查询,LocalDateTime条件

时间:2015-11-02 16:24:47

标签: hql spring-data jpql

我有一个具有LocalDateTime属性的模型,db中此属性的值如下所示:2015-01-22 00:00:00,我想做一个日期等于db的hql查询日期,无需指定时钟。

即。在SQL中,我可以这样做:

WHERE published_departure_date_local='2015-1-22';

这将返回以下日期的结果:2015-01-22 00:00:00

在HQL中,它希望我发送一个LocalDateTime对象,该对象需要设置时钟,但我不知道查询时的时钟。

我尝试在hql查询中传递LocalDate,但它抱怨因为模型属性为LocalDateTime而我在LocalDate子句中传递了WHERE

我应该切换到本机SQL查询吗?如果可能的话,我更愿意保留所有的hql。

1 个答案:

答案 0 :(得分:3)

您使用的是Spring Data JPA吗?

假设你的问题是你的问题,你可以做的事情之一就是使用Between子句,date1为2015-01-22 00:00:00,date2为2015-01-22 23:59:59

来自Spring Data的表4 doc

示例:findByStartDateBetween

JPQL代码段:… where x.startDate between 1? and ?2