关于session.createQuery(hql).list()的问题
w2gavin
2009-09-07
代码:
private static void nullTest(Session session){ String childId = "8a8a1dasdew8d56fb01238d56fffa0001"; Query q = session.createQuery("from Child c where c.id=?"); q.setString(0, childId); List l = q.list(); } 如果指定的childId在数据表中不存在,这段代码也不会报错,而且在下面写: System.out.println(l==null); 其输出结果也是false,是不是我可以这样理解,所有通过 session.createQuery().list 得到的list都是非空的。 那么所有的 if(null!=l)判断都可以被省略,对吗? 希望大家发表下自己的看法。 |
|
corejava5
2009-09-07
l==null || l.size()<1
|
|
left405
2009-09-08
即使没有返回数据 list 也不会是null
是一个size为0的list |
|
打倒小日本
2009-09-08
恩 list()方法永远不会返回null的
|
|
ch_space
2009-09-08
应该用l.isEmpty()判断。。。
|
|
liedexuan
2009-11-13
list 不可能为空 只是长度为0
|
|
lxtxqr
2009-11-13
楼上所的对 List不可能是空 list里面包含的Object[0]...........Object[N] 是null
元素是null list不是空 |
|
younglibin
2009-11-23
lxtxqr 写道 楼上所的对 List不可能是空 list里面包含的Object[0]...........Object[N] 是null
元素是null list不是空 对对!你用debug 更总一下! |
|
weibawoaini
2009-11-23
这个问题我以前也忽视过,确实会通过非空验证,但是你打印下长度就知道是0.
|
|
treblesoftware
2009-11-24
if(list.get(0)=null){
return null; }else{ list; } |