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();
看,就這麼簡單.一般在一對多或者多對多關系中從一方取另外一方數據時使用.