弹性搜寻中面临以下问题

2020-09-02 08:16发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我的代码: 私有静态最终字符串...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我的代码:

私有静态最终字符串Query_EmailAddress_From_B2BUnit =" SELECT {" + DNSB2BUnitPreferencesModel.EMAILADDRESS +"}" +" FROM {" + DNSB2BUnitPreferencesModel._TYPECODE +"}" +" WHERE {" + DNSB2BUnitPreferencesModel.B2BUNIT +"} = ;



@Override public String getEmailAddressesForB2BUnit(final B2BUnitModel b2bUnit){final FlexibleSearchQuery fQuery = new FlexibleSearchQuery(Query_EmailAddress_From_B2BUnit); fQuery.addQueryParameter(" b2bUnit",b2bUnit); 最终SearchResult 结果= flexibleSearchService.search(fQuery); 最终字符串emailAddressesList = result.getResult()。get(0); 返回emailAddressesList; }

这使我搜索失败,原因是:原因:de.hybris.platform.jalo.flexiblesearch.FlexibleSearchException:SQL搜索错误-无法转换为内部表示形式查询='SELECT item_t0.p_emailaddress from dnsb2bunitpreferences item_t0 WHERE(item_t0 .p_b2bunit =?)AND(item_t0.TypePkString =?)',值= [8806611648517,8796156788818]

尽管在HAC中,以下查询正在运行:从{DNSB2BUnitPreferences}中选择{emailAddress},其中{b2bUnit} ='8806611648517'

不知道为什么它对我来说失败,我也看不到类型不匹配

注意:使用oracle DB。

1条回答
bbpeas
2020-09-02 08:31

嗨莫希特,

请在您尝试实现的方法的正确版本下面进行检查:

私有静态最终字符串查询=
         " SELECT {" + DNSB2BUnitPreferencesModel.EMAILADDRESS +"}"
                 +" FROM {" + DNSB2BUnitPreferencesModel._TYPECODE +"}"
                 +" WHERE {" + DNSB2BUnitPreferencesModel.B2BUNIT +"} =?b2bUnit";

 @Override
 public String getEmailAddressesForB2BUnit(final B2BUnitModel b2bUnit){
     final FlexibleSearchQuery fsq = new FlexibleSearchQuery(query);
     fsq.addQueryParameter(" b2bUnit",b2bUnit);
     fsq.setResultClassList(Collections.singletonList(String.class));

     最终SearchResult  searchResult = flexibleSearchService.search(fsq);
     最终List 结果= searchResult.getResult();

     返回!result.isEmpty()?  result.get(0):"";
 }
 

此致

伊戈尔

一周热门 更多>