Bonjour,

J'ai un objet TemplateValue associé par un many-to-many à des objets Template1Value. Lorsque je filtre TemplateValue par une propriété de Template1Value, j'obtiens bien la liste désirée mais lorsque j'accède à la sous liste Template1Value, aucun filtre n'est appliqué. Comment peut-on faire ce filtre ?

TemplateValue.hbm.xml
<class name="TemplateValue" table="TEMPLATE" >
<id name="id" column="ID">
<generator class="increment"/>
</id>
<property name="title"/>

<set name="templates1" table="TEMPLATE_TEMPLATE1" lazy="false" >
<key column="TEMPLATE_ID"/>
<many-to-many column="TEMPLATE1_ID" class="Template1Value"/>
</set>
</class>

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Criteria criteria = this.session.createCriteria(TemplateValue.class);
Criteria criteriaTemplate1 = criteria.createAlias("templates1", "t1");
criteriaTemplate1.add( Restrictions.like( "t1.title", "toto"));
List list = criteria.list();
//mes objets template sont bien filtrés
for (int i=0;i<list.size();i++){
TemplateValue templateValue = (TemplateValue) list.get(i);
log.debug("id:"+templateValue.getId());
log.debug("title:"+templateValue.getTitle());



Iterator it=templateValue.getTemplates1().iterator();
//mon itérator n'a pas filtré mes templates1
while (it.hasNext()){
Template1Value template1Value = (Template1Value) it.next();
log.debug("\t id:"+template1Value.getId());
log.debug("\t title:"+template1Value.getTitle());
}
}

Même en utilisant lazy="false" rien à faire.

Quelqu'un a une idée ?

MERCI