2012-02-23 84 views
0

根據文檔here(在「唯一結果」下)和here,JDO「默認」查詢結果將返回一個List,如果「唯一」指定查詢爲空,則返回null。使用isEmpty()檢查JDO查詢是否安全?什麼是「正確」的方式?

所以我可以安全地使用.isEmpty()來檢查我是否有正常查詢的行?同樣,對於查詢被標記爲「唯一」的那些時間,我應該只使用== null

我測試了一個空結果確實返回一個列表.size()0。所以看來我唯一的NullPointerException異常在於「唯一」查詢。

我應該採取哪些其他預防措施(如果有的話)?只用這兩種檢查方式,我是否可以接受我的基地?相當多的尋找一些最佳實踐建議,以及任何潛在的問題。我是Java和JDO/ORM持久性的新手。

謝謝

回答

0

正確的方法?列表是一個列表,它具有Java合約(API)。 JDO不會改變這一點。此外,JDO規範(和DN文檔)定義了查詢的結果是什麼形式 http://www.datanucleus.org/products/accessplatform_3_0/jdo/jdoql_result.html

+0

是的我意識到返回類型在文檔中概述,我在我的問題中引用它。如果我不清楚,我很抱歉:我相信你基本上是在說,「是的,那涵蓋了你的基地。」所以謝謝你的澄清。 – Sp3igel 2012-02-23 14:28:02

相關問題