2010-07-16 24 views
3

pourquoi est-ce pas possible?Mise en veille prolongée - setProjection après que les critères après les critères

Criteria crit1 = sess.createCriteria(Criteria1Class.class); 
Criteria crit2 = crit1.createCriteria("criteria2Class"); 

crit2.setProjection(Projections.groupProperty("criteria2Property")); 
List<String> l2 = crit2.list(); 

Si j'utilise cette construction je reçois l'erreur:

could not resolve property: criteria2Property of: com.foo.bar.models.Criteria1Class 

biensur criteria2Property n'existe pas dans Criteria1Class parce qu'il existe dans Criteria2Class

Alors pourquoi est-ce groupProperty pas possible sur la @manyToOne associations de Criteria1Class à Criteria2Class?

Répondre

2

résolu le problème moi-même:

Criteria crit1 = sess.createCriteria(Criteria1Class.class) 
        .createAlias("criteria2Class","criteria2ClassAlias") 
        .setProjection(Projections.groupProperty("criteria2ClassAlias.criteria2Property")); 

crit1.list();