При запросах с помощью JDOQL существует разница в производительности между использованием декларативной версии и версией с одной строкой:
Пример из документа JDOQL:
//Declarative JDOQL :
Query q = pm.newQuery(org.jpox.Person.class, "lastName == \"Jones\" && age < age_limit");
q.declareParameters("double age_limit");
List results = (List)q.execute(20.0);
//Single-String JDOQL :
Query q = pm.newQuery("SELECT FROM org.jpox.Person WHERE lastName == \"Jones\"" +
" && age < :age_limit PARAMETERS double age_limit");
List results = (List)q.execute(20.0);
Помимо производительности, есть ли причины, по которым один из них лучше использовать, чем другой, или это примерно то, с чем мы чувствуем себя более комфортно?