2015-11-02 39 views
0

我有一个模型,有一个LocalDateTime属性,该属性在数据库中的值看起来像这样:2015-01-22 00:00:00,我想做一个hql查询日期等于数据库日期,没有必须指定时钟。HQL Query,LocalDateTime条件

即SQL,我可以这样做:

WHERE published_departure_date_local='2015-1-22'; 

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

在HQL

,它希望我送LocalDateTime对象,它需要有时钟集,但我不知道查询时的时钟。

我试着在hql查询中传递一个LocalDate,但它会报错,因为模型属性是LocalDateTime而我在WHERE子句中传递LocalDate

我应该切换到原生sql查询吗?如果可能,我宁愿保留所有hql。

回答

2

你在使用Spring Data JPA吗?

从您的问题标签中可以看出,您可以使用Between子句和date1作为2015-01-22 00:00:00,date2作为2015-01-22 23:59:59

从表4的数据春doc

样品:findByStartDateBetween

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

+0

这个工程,就试了一下。即使它需要更多的代码(以生成一天的开始和结束)。也许有另一种方式不使用'between'?无论如何,我现在很好,谢谢。 – prettyvoid