HQL 查询,LocalDateTime 条件

HQL Query, LocalDateTime condition

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

即在 SQL 中,我可以做到:

WHERE published_departure_date_local='2015-1-22';

这将 return 具有以下日期的结果:2015-01-22 00:00:00

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

我尝试在 hql 查询中传递 LocalDate,但它会抱怨,因为模型 属性 是 LocalDateTime 而我在 [= 中传递 LocalDate 18=] 子句。

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

您在使用 Spring Data JPA 吗?

根据您的问题标签假设您是,您可以做的一件事是使用 Between 子句,其中日期 1 为 2015-01-22 00:00:00,日期 2 为 2015-01-22 23:59:59

来自 Table 4 来自 Spring 数据 doc,

样本:findByStartDateBetween

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