代码之家  ›  专栏  ›  技术社区  ›  Michel

Hibernate-setProjection-after-Criteria-after条件

  •  3
  • Michel  · 技术社区  · 14 年前

    为什么这不可能?

    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
    

    当然,criteria2Property在中不存在 Criteria1Class 因为它存在于 Criteria2Class

    这是为什么 groupProperty 在现场不可能 @manyToOne 来自的关联 标准1类 标准2类

    1 回复  |  直到 14 年前
        1
  •  2
  •   Michel    14 年前

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