#java #ofbiz
#java #ofbiz
Вопрос:
Я пытаюсь использовать метод findbyи.
Это часть моего кода:
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();
}
В этой строке
product = delegator.findByAnd("Product", UtilMisc.toMap("productName", productName), orderBy, false);
Я получаю эту ошибку:
Как это исправить? Я не понимаю, как типы могут быть несовместимы в моем коде.
Комментарии:
1. Вы не понимаете, как
List<GenericValue>
это не aGenericValue
?2. @Kayaman нет, поскольку я передаю OrderBy в качестве аргумента, который является ArrayList<String>
3. Возможно, вам следует сосредоточиться на том, что получается, а не на том, что происходит.
4. @Kayaman у вас есть решение?
5. Что
findByAnd
возвращает?
Ответ №1:
Причина, по которой вы получаете эту ошибку, заключается в том, что метод findbyи возвращает список объектов GenericValue, каждое GenericValue представляет строку в таблице Product . Следующий код будет работать:
List<GenericValue> products = delegator.findByAnd("Product", UtilMisc.toMap("productName", productName), orderBy, false);