Несмотря на то, что мой запрос JDO содержит TWO declareParameters
операторов, приведенный ниже код выдает ошибку, утверждающую, что принят только один параметр :
Для запроса требуется 1 параметр, но были предоставлены 2 значения.
Два параметра amountP
и taxP
:
javax.jdo.Query query= pm.newQuery(Main.class);
query.setFilter("amount == amountP && tax < taxP");
query.declareParameters("int amountP");
query.declareParameters("int taxP");
List<Main> results = (List<Main>)query.execute (amountP, taxP);
Однако со следующими изменениями это работает.
javax.jdo.Query query= pm.newQuery(Main.class);
query.setFilter("amount == amountP && tax < taxP");
query.declareParameters("int amountP, int taxP");
List<Main> results = (List<Main>)query.execute (amountP, taxP);
Мой вопрос: Что не так с оригинальным синтаксисом?
Обновление: Об этой проблеме сообщали другие , но без объяснения причин.