Исключение JDO: «Запрос требует 1 параметра, но были предоставлены 2 значения».

Несмотря на то, что мой запрос 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);

Мой вопрос: Что не так с исходным синтаксисом?

Обновление: Об этой проблеме сообщили другие , но без объяснения причин.

5
задан gustafc 18 September 2010 в 15:28
поделиться