posts - 0, comments - 0, trackbacks - 0, articles - 34
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Hibernate中的过滤集合类Filtering collections(转)

Posted on 2006-02-22 09:05 阳光 阅读(137) 评论(0)  编辑  收藏 所属分类: javaHibernate

Hibernate的文档中写道:集合filter是一种特殊的查询,用于一个持久化集合或者数组。查询字符串可以引用this,意为当前的数组元素

我觉得这样理解起来有些费劲.其实他的作用就是把你不需要的数据过滤掉,然后把结果集返回给你.现在举个例子说明一下:

      String hql =  "select p from Picgroup p join p.images t where p.id=" + groupid;
      Query query = session.createQuery(hql);
      List list = query.list();

      Picgroup group = (Picgroup) list.get(0);
      view.setName(group.getName());
      view.setId(groupid);

      Collection image=session.filter(group.getImages(),"select this where this.state='C'");//这里只取出state等于C的数据
      Iterator ite = image.iterator();


看,就这么简单.一般在一对多或者多对多关系中从一方取另外一方数据时使用.