Hibernate's document reads: Collection filter is a special kind of query used for a persisted collection or array. The query string can refer to this, meaning the current array element
I think it's a bit hard to understand. In fact, his role is to filter out the data you don't need, and then return the result set to you. Now for an example:
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´");//Here only data with state equals C is removed
Iterator ite = Image.iterator ();
Look, it's as simple as that. It is generally used in a one-to-many or many-to-many relationship when the other party's data is taken from one side.