Object [] candId=new Object[list.size()];
for(int i=0;i<list.size();i++){
     CandBean candBean=new CandBean();
     candBean=list.get(i);
     candId[i]=candBean.getCandId();
}
detachedCriteria.add(Expression.in("candidateId", candId));candId这个长度有200多可是到
detachedCriteria.add(Expression.in("candidateId", candId));
这里取出来的数据同你就只有45条了???难道Expression.in有长度限制???

解决方案 »

  1.   


    System.out.println(list.size()+"=====================================");
    System.out.println(arraToCandidateList.size()+"====================================="+candId.length);
    打印结果:
    235=====================================
    45=====================================235
      

  2.   

    Expression有in这个方法么?我找api没看到啊?
      

  3.   

    detachedCriteria
    arraToCandidateList这都是什么东西?
      

  4.   

    arraToCandidateList这是list 集合
    detachedCriteria这是hibernate DetachedCriteria 
      

  5.   

    hibernate婴儿级水平。Expression也是hibernate的?
      

  6.   

    http://wanglihu.javaeye.com/blog/246603
      

  7.   

    Expression.in:对应SQL条件中的"field in …"。 你是不是用错了
      

  8.   

    我也不知道就只有Restrictions.in  和Expression.in 能放数组 我是要查出这个数组里面的所有记录可是我数组长有200多查出的记录只有45条
      

  9.   

    list里面的值有可能为null,所以你取出来的只有45条啦
      

  10.   

    .add( Property.forName("name").in( new String[] { "Fritz", "Izi", "Pk" } ) )在顶上去.