Hybris 灵活的搜索查询适用于hac,但不适用于Java代码

Hybris 灵活的搜索查询适用于hac,但不适用于Java代码,hybris,flexible-search,Hybris,Flexible Search,我创建了一个新的ItemType(SalesData),并试图通过程序执行一个简单的查询,但它不会返回任何结果。其中,在调试时,我复制了查询和关联的查询参数,并在hac上执行,该查询返回结果。为什么此查询无法通过程序运行?基本上,问题在于fromDate和toDate private static final String SALES_QUERY = "SELECT {"+ SalesDataModel.PK +"} FROM {"

我创建了一个新的ItemType(SalesData),并试图通过程序执行一个简单的查询,但它不会返回任何结果。其中,在调试时,我复制了查询和关联的查询参数,并在hac上执行,该查询返回结果。为什么此查询无法通过程序运行?基本上,问题在于fromDate和toDate

    private static final String SALES_QUERY = "SELECT {"+ SalesDataModel.PK +"} FROM {"
        + SalesDataModel._TYPECODE + " AS F } "
        + "WHERE {F:" +SalesDataModel.PUBLISHED + "} = false "
        + "AND {F:" + SalesDataModel.TRANSACTIONDATE + "} >= ?fromDateTime "
        + "AND {F:" + SalesDataModel.TRANSACTIONDATE + "} < ?toDateTime ";            

    private static final String FROM_DATE_TIME = "fromDateTime";
    private static final String TO_DATE_TIME = "toDateTime";

private void generateSalesFile(LocalDateTime yesterdayMidnight, LocalDateTime todayMidnight) {
     FlexibleSearchQuery query = new FlexibleSearchQuery(SALES_QUERY);
     query.addQueryParameter(FROM_DATE_TIME, java.sql.Timestamp.valueOf(yesterdayMidnight));
     query.addQueryParameter(TO_DATE_TIME, java.sql.Timestamp.valueOf(todayMidnight));
     final SearchResult<SalesDataModel> result = flexibleSearchService.search(query);
}
private static final String SALES\u QUERY=“从{
+SalesDataModel._TYPECODE+“作为F}”
+其中{F:“+SalesDataModel.PUBLISHED+”}=false
+和{F:“+SalesDataModel.TRANSACTIONDATE+”}>=?fromDateTime”
+和{F:“+SalesDataModel.TRANSACTIONDATE+”}<?toDateTime”;
来自\u DATE\u TIME=“fromDateTime”的私有静态最终字符串;
私有静态最终字符串到\u DATE\u TIME=“toDateTime”;
私有void生成alesfile(LocalDateTime昨天午夜,LocalDateTime今天午夜){
FlexibleSearchQuery查询=新建FlexibleSearchQuery(销售查询);
addQueryParameter(FROM_DATE_TIME,java.sql.Timestamp.valueOf(yesterdayMidnight));
addQueryParameter(TO_DATE_TIME,java.sql.Timestamp.valueOf(todayMidnight));
最终搜索结果=flexibleSearchService.search(查询);
}

尝试使用
日期
而不是
时间戳

错误消息是什么/stacktrace?没有抛出错误,结果是0。谢谢@geffchange,我改为日期,它成功了。query.addQueryParameter(FROM_DATE_TIME,DATE.FROM(yesterdayMidnight.atZone(ZoneId.systemDefault()).toInstant());query.addQueryParameter(TO_DATE_TIME,DATE.from(todayMidnight.atZone(ZoneId.systemDefault()).toInstant());