您所在的位置: 首页 > 开发 > JAVA >

Hibernate中的过滤集合类Filtering collections

  • 摘要:集合filter是一种特殊的查询,用于一个持久化集合或者数组。查询字符串可以引用this,意为当前的数组元素。 本文举例简单说明在一对多或者多对多关系中从一方取另外一方数据时使用的方法。
  • 标签:Java  Hibernate  过滤  

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();

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

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)


Oracle以74亿美元收购Sun
SaaS时代的软件开发
企业级Web2.0 你准备好了么?
浏览器的战国时代
调查:十大发现 解秘技术人
 
 验证码: (点击刷新验证码)   匿名发表
  • 亮剑.NET. 图解C#开发实战

  • 作者:李新峰 付志涛 缪勇
  • 本书采用全新的图解思路,分3篇介绍使用微软C#语言开发实际应用程序的基本知识。第1篇包括10章,介绍了C#语言的基础知识,主要..
Copyright©2005-2009 51CTO.COM 版权所有