浏览 7934 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-15
我今天实验了一下,发现总不太对 String[] ids = {"4aec7b4a0e96cf8c010e96f35edd000b","4aec7b4a0e96cf8c010e96f5353b000e"}; String str=""; for(int i=0;i<ids.length;i++){ str+="'"+ids[i]+"'"; if(i!=(ids.length-1)) str+=","; } List list; try { list = appinfoManager.find("from Appinfo where id in (?)",str); System.out.println("共有"+list.size()+"条记录"); } catch (DaoException e) { e.printStackTrace(); } 查询结果为0条记录,但是数据库中确实存在这些记录。 其实这些在sql中应该可以实现的,不知道在hql语句中为什么不行 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-15
hbcui1984 写道 在查询时,传入一个id的数组,然后提取这些id的对象,利用Hql语句可以实现吗?
我今天实验了一下,发现总不太对 String[] ids = {"4aec7b4a0e96cf8c010e96f35edd000b","4aec7b4a0e96cf8c010e96f5353b000e"}; String str=""; for(int i=0;i<ids.length;i++){ str+="'"+ids[i]+"'"; if(i!=(ids.length-1)) str+=","; } List list; try { list = appinfoManager.find("from Appinfo where id in (?)",str); System.out.println("共有"+list.size()+"条记录"); } catch (DaoException e) { e.printStackTrace(); } 查询结果为0条记录,但是数据库中确实存在这些记录。 其实这些在sql中应该可以实现的,不知道在hql语句中为什么不行 String[] ids = {"4aec7b4a0e96cf8c010e96f35edd000b","4aec7b4a0e96cf8c010e96f5353b000e"}; String str=""; for(int i=0;i<ids.length;i++){ str+="'"+ids[i]+"'"; if(i!=(ids.length-1)) str+=","; } List list; try { list = appinfoManager.find("from Appinfo where id in ("+str+")"); System.out.println("共有"+list.size()+"条记录"); } catch (DaoException e) { e.printStackTrace(); } 这样估计就可以了,你试下呢 |
|
返回顶楼 | |
发表时间:2007-01-15
String ids[]=new String[]{"1","2","3"}; String hql= " from Appinfo where id in (?)"; Query query = session.createQuery(hql); query .setParameterList(ids); see: Query setParameters(Object[] objectArray, Type[] typeArray) throws HibernateException; Query setParameterList(String string, Collection collection, Type type) throws HibernateException; Query setParameterList(String string, Collection collection) throws HibernateException; Query setParameterList(String string, Object[] objectArray, Type type) throws HibernateException; Query setParameterList(String string, Object[] objectArray) throws HibernateException; |
|
返回顶楼 | |
发表时间:2007-01-16
谢谢楼上两位正解,我试了一下,两位的方法都不错
我把这个问题稍微总结了一下,有兴趣的可以参看: http://blog.csdn.net/hbcui1984/archive/2006/12/05/1431011.aspx |
|
返回顶楼 | |