Hybris Flexible Search获取1小时前创建的记录



我需要一个灵活的搜索查询,以便从当前日期获取1小时前创建的产品,我已经尝试过了:

select * from {product} where {creationtime} < current_date - INTERVAL 1 HOUR

还:

final FlexibleSearchQuery flexibleSearchQuery = new FlexibleSearchQuery("SELECT {pk} FROM {Product} where {creationtime} < ?inputDate");
flexibleSearchQuery.addQueryParameter("inputDate", ZonedDateTime.now(ZoneId.systemDefault()).toInstant().minus(1, ChronoUnit.HOURS));

然而,这些解决方案实际上都不起作用,第一个返回在1小时间隔内创建的产品,但忽略了实际的日和月,看起来它只计算小时和分钟,但忽略了日期。

你需要使用>操作符如下:

final FlexibleSearchQuery flexibleSearchQuery = new FlexibleSearchQuery("SELECT {pk} FROM {Product} where {creationtime} > ?inputDate");
flexibleSearchQuery.addQueryParameter("inputDate", LocalTime.now().minus(1, ChronoUnit.HOURS));

不要忘记服务器和应用程序的时区可能不同。

最新更新