Сегодня, добавив очередную небольшую функцию в свое приложение Google App Engine получил очередной жестокий облом:
08.10.2011 21:55:38 org.datanucleus.store.query.AbstractJDOQLQuery <init>
WARNING: Candidate class for JDOQL single-string query (Commander) could not be resolved
Потратив массу времени выяснил
Вот так работает:
Query query = pm.newQuery(Commander.class);
query.setFilter("name == nameParam");
query.declareParameters("String nameParam");
Вот так нет:
Query query = pm.newQuery("select from Commander " +
"where name == nameParam " +
"parameters String nameParam");
И тот и другой код один в один повторяют примеры из руководства. Так какого же хрена?
Ларчик открылся просто. Во втором случае вместо простого имени класса должно стоять полное, т.е. включая имя пакета. В связи с чем мне остается только сказать большое человеческое спасибо людям писавшим документацию для разработчиков - они сделали мою жизнь интереснее.
Продолжение не заставило себя ждать.