【发布时间】:2010-05-28 07:30:52
【问题描述】:
使用 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);
除了性能之外,还有什么理由说明哪一种比另一种更适合使用,还是只是我们觉得更舒服的一种。
【问题讨论】:
-
第一个表单至少支持 一些 重构(它在重命名
Person类后仍然存在,但是属性更改仍然会搞砸)。
标签: java jdo datanucleus jdoql