public List queryByLike(String cond) throws Exception {
  // 模糊查询
  String hql = "from Person where name like ?";
  Query query = this.session.createQuery(hql);
  query.setString(0,"%"+cond+"%");
  List list = query.list();
  return list;
 }
当没有查询到数据时返回的list不为空而是[],谁能告诉我是为什么?

解决方案 »

  1.   

    list不为空,里面是?
    不太明白,还是帮你顶一下
      

  2.   

    也就是说有List对象但是该对象的size为0
      

  3.   

    就是2楼的答案。
    list是一个列表集合,所以不能判断为空,只能判断它的size(长度)为0。
      

  4.   

    你可以看下源码,query的list方法,如果有数据的话会返回一个集合,没有的话,返回的是一个空的集合对象
      

  5.   

    很明显hibernate再做查询的时候 返回的集合是new出来的 所以没查出来值结果就是size为0的集合