criteria.list erst bloqué dans son execution
Bonjour,
Je reprend un projet existant et je constate que le code suivant est bloquant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
public List<Affaire> findByCriteria(Affaire affaire) {
long start = System.currentTimeMillis();
System.out.println("findByCriteria(Affaire "
+ ReflectionToStringBuilder.toString(affaire) + ")");
Criteria criteria = getSession().createCriteria(Affaire.class);
Iterator<Auteur> auteurs = affaire.getAuteurs().iterator();
Iterator<Acteur> requerants = affaire.getRequerants().iterator();
Iterator<Commune> communes = affaire.getCommunes().iterator();
if (communes.hasNext()) {
Criteria testOneToMany = criteria.createCriteria("communes");
testOneToMany.add(Restrictions.idEq(communes.next().getId()));
}
if (auteurs.hasNext()) {
Criteria testOneToMany = criteria.createCriteria("auteurs");
testOneToMany.add(Restrictions.idEq(auteurs.next().getId()));
}
if (requerants.hasNext()) {
Criteria testOneToMany = criteria.createCriteria("communes");
testOneToMany.add(Restrictions.idEq(requerants.next().getId()));
}
if (affaire.getNoAffaire() != null
&& affaire.getNoAffaire().length() > 0)
criteria.add(Expression.eq("noAffaire", affaire.getNoAffaire()));
if (affaire.getType() != null)
criteria.add(Expression.eq("type", affaire.getType()));
// TODO requerant & auteur (criteria)
List<Affaire> list = criteria.list();
System.out.println("Result in " + (System.currentTimeMillis() - start)
+ " ms :\n" + ReflectionToStringBuilder.toString(list));
return list;
} |
:13:48 DEBUG - AuteurDaoImpl:77 - findByCriteri
,nomPersonneAutorisee=<null>,numeroRegistre=0])
quelqu un voit il la cause ?
d avance merci