2010-11-11 103 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

相關問題