Несмотря на то, что мой запрос JDO содержит ДВА 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 results = (List)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 results = (List)query.execute (amountP, taxP);
Мой вопрос: Что не так с исходным синтаксисом?
Обновление: Об этой проблеме сообщили другие , но без объяснения причин.