Restrictions用法

例子一:
    
public List<Goods> ranking(String path, TimeUnit timeUnit, String time, int size) {
List<Criterion> criterions = new ArrayList<Criterion>();
criterions.add(Restrictions.sqlRestriction("{alias}.sn in (SELECT SN FROM MALL_GOODS WHERE MARKETABLE = ?)", true, BooleanType.INSTANCE));
criterions.add(Restrictions.eq("type", Sales.Type.goods));
criterions.add(Restrictions.like("path", path + "%"));
criterions.add(Restrictions.eq("timeUnit", timeUnit));
criterions.add(Restrictions.eq("time", time));
List<Sales> goodsSales = salesService.sellingRanking(criterions.toArray(new Criterion[criterions.size()]), 0, size);
if (goodsSales.isEmpty()) {
return Collections.EMPTY_LIST;
}
List<Goods> list = this.goodsDao.find(Restrictions.in("sn", ObjectUtil.toFieldArray(goodsSales, "sn", String.class)));
List<Goods> goods = new ArrayList<Goods>();
for (Sales sales : goodsSales) {
goods.add(ObjectUtil.find(list, "sn", sales.getSn()));
}
return goods;
}


例子二:

Restrictions.sql("lower({alias}.name) like lower(?)", "Fritz%", Hibernate.STRING) )
Restrictions.sqlRestriction(" {alias}.properties like ? ", "%" + value + "%", StringType.INSTANCE)




例子三:


this.goodsCategoryDao.find(new Criterion[]{Restrictions.eq("delflag",Delflag.N)}, "layer,sort", "asc,asc");


例子四:

public Pager<Depot> totalfindPager(Pager<Depot> pager,List<PropertyFilter> filters) {
Criterion[] criterions = buildPropertyFilterCriterions(filters);
Criteria criteria = this.createCriteria(criterions);

ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.groupProperty("sn"), "sn");
projectionList.add(Projections.sum("badCommodityQuantity"),"totalBadCommodityQuantity");
projectionList.add(Projections.sum("goodCommodityQuantity"),"totalGoodCommodityQuantity");

criteria.setProjection(projectionList);
criteria.setResultTransformer(new AliasToBeanResultTransformer(Depot.class));

pager.reset(countCriteriaResult(criteria));
setPageParameter(criteria, pager);
pager.reset(criteria.list());

return pager;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值