我还没有向数据库添加任何内容,因此根据我的计算,以下查询应返回 0 结果。
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
javadocs 和结果文档都没有说明此方法能够返回 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
最佳答案
当我使用 DataNucleus 尝试你的代码时,我首先遇到了类似的问题。
字节码增强器未运行。一旦我启用它,计数就变成了预期的 0。
也许您也遇到了类似的问题。
关于java - DataNucleus 中 Query.execute() 在什么情况下返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4152174/