根据文档here (在“惟一结果”下)和here,JDO“默认”查询结果将返回一个列表,而“唯一”指定的查询如果为空,则返回null。
那么,仅仅使用.isEmpty()检查普通查询的行数是否安全呢?同样,对于查询被标记为“唯一”的那些时候,我应该只使用== null吗
我测试了一下,一个空的结果确实返回了一个.size()为0的列表。所以看起来我使用NullPointerException的唯一危险在于“唯一”的查询。
我还应该采取什么其他预防措施(如果有)?我仅仅用这两种类型的检查就可以覆盖我的基础吗?我正在寻找一些最佳实践的建议,以及任何潜在的陷阱。我对Java和JDO/ORM持久化都是相当的新手。
谢谢
发布于 2012-02-23 16:49:36
正确的方式?列表就是一个列表,它有一个Java协定(API)。JDO不会改变这一点。JDO规范(和DN文档)还定义了来自查询http://www.datanucleus.org/products/accessplatform_3_0/jdo/jdoql_result.html的结果形式
https://stackoverflow.com/questions/9405475
复制相似问题