2010-11-11 98 views
1

我还没有在我的数据库中添加任何东西,因此以下查询应该返回的结果。在什么情况下,Query.execute()在DataNucleus中返回空值

Query query = pm.newQuery(Password.class); 
    query.setFilter("password == :passwordParam"); 
    query.setResult("count(password)"); 
    query.setResultClass(Integer.class); 
    Integer result = (Integer)query.execute(password); 
    System.out.println("Result: [" + result + "]"); 

它返回null

既不的javadoc,也没有结果文档,说这个方法能够返回null什么。我的猜测是我做错了什么。

http://db.apache.org/jdo/api20/apidocs/javax/jdo/Query.html#execute%28%29 http://www.datanucleus.org/products/accessplatform_2_2/jdo/jdoql_result.html

回答

1

当我想你的代码通过DataNucleus我在第一次经历了类似的问题。

bycode增强器没有运行。一旦我启用它,计数就变成0了。

也许你有类似的问题。

+0

注:我删除了我之前关于聚集和JDO标准的答案,因为它反正没有什么帮助。 – 2010-11-11 11:18:15

+0

其他信息也很有用,你应该离开这两个。 :)但无论如何,令人惊讶的是,我认为你是对的。增强器确实运行,每次我保存文件时都会看到它运行,但是我做了一个干净的项目,现在我得到了count的预期结果...也许它不会增强这个文件,并且干净的导致它再次完成所有这些。无论如何,非常感谢! – 2010-11-11 11:35:27

相关问题