Java findByAnd和不兼容类型
我试着用这个方法 这是我代码的一部分:Java findByAnd和不兼容类型,java,ofbiz,Java,Ofbiz,我试着用这个方法 这是我代码的一部分: ArrayList<String> orderBy; orderBy.add("productId"); GenericDelegator delegator = (GenericDelegator) DelegatorFactory.getDelegator("default"); GenericValue product = null; try { product = delegator.findByAnd("Product",
ArrayList<String> orderBy;
orderBy.add("productId");
GenericDelegator delegator = (GenericDelegator) DelegatorFactory.getDelegator("default");
GenericValue product = null;
try {
product = delegator.findByAnd("Product", UtilMisc.toMap("productName", productName), orderBy, false);
} catch (GenericEntityException e) {
return Response.serverError().entity(e.toString()).build();
}
我得到这个错误:
如何纠正?我不明白类型在我的代码中是如何不兼容的。出现此错误的原因是findByAnd方法返回一个GenericValue对象列表,每个GenericValue代表产品表中的一行。 以下代码将起作用:
List<GenericValue> products = delegator.findByAnd("Product", UtilMisc.toMap("productName", productName), orderBy, false);
List products=delegator.findByAnd(“Product”,UtilMisc.toMap(“productName”,productName),orderBy,false);
你不明白列表
怎么不是一个通用值
?@Kayaman不,因为我把orderBy作为一个参数传递,它是一个ArrayListMaybe,你应该专注于结果,而不是结果。@Kayaman你有解决方案吗?findByAnd
返回什么?
List<GenericValue> products = delegator.findByAnd("Product", UtilMisc.toMap("productName", productName), orderBy, false);