Criteria criteria = super.getSession().createCriteria(OrderInfo.class); 
  criteria.setProjection(Projections.groupProperty("customer"));  
  criteria.setProjection(Projections.sum("orderTotalPrice")); 
criteria 。toList();
上面是想根据客户查找订单的所有金额,我想知道返回的list集合包括的是什么,是OrderInfo对象吗?
同时怎么记录sum()的值呀

解决方案 »

  1.   

    返回的是标量的数组
    Iterator results = session.createCriteria(OrderInfo.class)
        .setProjection( Projections.projectionList()
            .add( Projections.sum("orderTotalPrice") )
            .add( Projections.groupProperty("customer") )
        ).list().iterator();
    while ( results.hasNext() ) {
        Object[] row = (Object[]) results.next();
        Integer orderTotalPrice = (Integer) row[0];
        String customer = (String) row[1];
    }
      

  2.   

    自己在OrderInfo里添加对应sum()列的属性