有如下使用场景,查询消费记录表,需要统计截止2017年10月28号,
消费金额在500到1000之内的所有用户信息。
Criteria criteria = baseDao.getSession().createCriteria(PayRecords.class)
.createAlias("payUser", "payUser");
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.sum("payAmount").as("amount"));
projectionList.add(Projections.property("payUser.uid").as("payUserUid"));
projectionList.add(Projections.property("payUser.name").as("payUserName"));
projectionList.add(Projections.property("payUser.houseNumber").as("houseNumber"));
projectionList.add(Projections.property("payUser.mobilePhone").as("mobilePhone"));
projectionList.add(Projections.property("payUser.community").as("community"));
projectionList.add(Projections.property("payUser.address").as("address"));
// 根据用户分组
projectionList.add(Projections.groupProperty("payUser.uid"));
criteria.setProjection(projectionList);
criteria.add(Restrictions.eq("paidResult", PaidResult.Successed));
criteria.add(Restrictions.lt("createTime", date));
criteria.addOrder(Order.desc("createTime"));
criteria.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
return baseDao.findByCriteria(criteria, pageable.getPage(), pageable.getLength());
这个是之前的,但是没有金额限制,现在要添加金额范围,也就是“Projections.sum("payAmount")”需要满足范围500-1000,不知道怎么写了。