2010-07-16 4 views
3

Почему это невозможно?Hibernate - setProjection after Criteria after Criteria

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

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

Если я использую эту конструкцию я получаю ошибку:

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

Offcourse criteria2Property не существует в Criteria1Class, потому что она существует в Criteria2Class

Так почему же это не представляется возможным groupProperty на @manyToOne ассоциации от Criteria1Class до Criteria2Class?

ответ

2

решаемые это сам:

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

crit1.list();