0
    public List<DHProductLookupModel> findProductbyCCsapProductId(final String code)
{
    final String queryString = "SELECT {p:" + DHProductLookupModel.SAPPRODUCTID + "}" + "FROM{" + DHProductLookupModel._TYPECODE
            + " AS p}" + "WHERE" + "{p:" + DHProductLookupModel.SAPPRODUCTID + "}=?code ";
    final FlexibleSearchQuery query = new FlexibleSearchQuery(queryString);
    query.addQueryParameter("code", code);
    return flexibleSearchService.<DHProductLookupModel> search(query).getResult();
}

search(query) 抛出空指针异常,如何处理?

输出:

Caused by: java.lang.NullPointerException
    at de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService.getJaloResult(DefaultFlexibleSearchService.java:396) ~[coreserver.jar:?]
    at de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService.search(DefaultFlexibleSearchService.java:168) ~[coreserver.jar:?]
    at com.cancom.core.productlookup.dao.impl.CCProductLookupDaoImpl.findProductbyCCmanufacturerProductId(CCProductLookupDaoImpl.java:39) ~[classes/:?]
    at com.cancom.core.productlookup.service.impl.CCProductLookupServiceImpl.getProductforCCmanufacturerProductId(CCProductLookupServiceImpl.java:37) ~[classes/:?]

谢谢!

4

3 回答 3

2

将您的灵活搜索查询从

 final String queryString = "SELECT {p:" + DHProductLookupModel.SAPPRODUCTID + "}" + "FROM{" + DHProductLookupModel._TYPECODE
        + " AS p}" + "WHERE" + "{p:" + DHProductLookupModel.SAPPRODUCTID + "}=?code ";

 final String queryString = "SELECT {p:" + DHProductLookupModel.PK + "}" + "FROM{" + DHProductLookupModel._TYPECODE
        + " AS p}" + "WHERE" + "{p:" + DHProductLookupModel.SAPPRODUCTID + "}=?code ";

您应该发送DHProductLookupModel.PK搜索结果。

于 2018-04-19T14:39:49.460 回答
0

在您的情况下,您可以使用灵活搜索服务的getModelsByExample而不是编写查询。

你的方法会像

 public List<DHProductLookupModel> findProductbyCCsapProductId(final String code)
 {
     DHProductLookupModel dhProductLookupModel = new DHProductLookupModel();
     dhProductLookupModel.setSapProductID(code);
     return getFlexibleSearchService().getModelsByExample(dhProductLookupModel);
 }

在这里找到示例

于 2018-04-24T12:20:22.447 回答
0

感谢大家!我发现了问题。那是在我的春天。我只需要放:

 <context:component-scan base-package="myPackage"/>

为了安全起见,我还使用 DHProductLookupModel.PK 更改了查询。现在它的工作!

于 2018-04-25T07:27:21.963 回答