例子一:
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;
}
分享到:
相关推荐
本篇将详细讲解`Restrictions`类的常用方法及其在数据查询中的应用。 1. `Restrictions.eq`: 这个方法用于创建一个等于(equal)的条件,例如`Restrictions.eq("fieldName", value)`会生成`fieldName = value`的...
2. `Restrictions.allEq`: 如果需要设置多个等于条件,可以使用`allEq`方法,它接受一个Map作为参数,Map的键是属性名,值是对应的比较值。例如,`allEq({"name": "John", "age": 25})`将匹配名字为John且年龄为25的...
在7.10 GROUP BY Restrictions这一部分,作者深入探讨了在使用GROUP BY子句时的一些限制和注意事项,这对于理解和编写高效、正确的SQL查询至关重要。 1. GROUP BY基础:GROUP BY子句用于将数据集按照一个或多个列...
### DetachedCriteria 使用详解 #### 一、背景与概述 在Web开发中,经常会遇到需要根据用户提供的...通过合理使用 `DetachedCriteria` 和 `Restrictions`,可以构建复杂且高效的查询逻辑,满足各种复杂的业务需求。
### Hibernate Criteria 使用方法详解 #### 一、简介 Hibernate 是一款非常流行的 Java 持久层框架,它简化了对象关系映射(ORM)过程中的许多复杂性。在 Hibernate 中,Criteria API 提供了一种类型安全的方式来...
在上面的代码中,我们首先创建了一个 Criteria 对象,然后使用 `Restrictions.like()` 方法创建了一个条件对象,最后使用 `add()` 方法将条件添加到 Criteria 对象中,并使用 `list()` 方法来获取查询结果。...
下面将详细介绍Criteria API的使用方法和相关知识点。 1. **Query By Example (QBE)**: QBE是一种通过实例对象创建查询的方式。例如,给定一个Student对象`s`,我们可以通过`cri.add(Example.create(s))`来创建一...
【Hibernate Criteria 用法详解】 Hibernate Criteria API 是一种面向对象的查询方式,它提供了一种比HQL(Hibernate Query Language)更为简洁且直观的查询手段。通过Criteria API,开发者可以构建复杂的查询条件...
通过这一层次结构,作者重新审视了几个著名的基于数论的量子算法,并将其嵌入到量子计算的框架中,展示了一个使用仅能保持计算基矢不变的门来实现Shor算法的例子,该算法在初始化和读出时均采用Hadamard基矢。...
要开始使用Criteria,你需要在Hibernate的Session中调用`createCriteria()`方法,传入你想查询的实体类的Class对象。例如,如果你要查询Person实体,你会这样做: ```java Criteria c = session.createCriteria...
- **多条件的 or 规则**:若要实现 OR 查询,需使用 `Restrictions.or()` 方法。例如:`searDc.add(Restrictions.or(Restrictions.eq("deptunid", "aa"), Restrictions.isNull("deptunid")));` 其中,`...
Oracle 连接查询的使用方法 Oracle 连接查询是指使用 START WITH 和 CONNECT BY 语句来实现递归查询的方法,这种方法可以生成树形结构的数据。在 Oracle 中,START WITH 语句用于指定递归查询的开始记录,而 ...
Criterion 的实例可以通过 Restrictions 工具类来创建,Restrictions 提供了大量的静态方法,如 eq(等于)、ge(大于等于)、between 等来方法的创建 Criterion 查询条件(SimpleProjection 实例)。Example 的创建...
`Restrictions.not(Restrictions.between())` 方法用于表示“不在...之间”的情况。 - **语法**:`Restrictions.not(Restrictions.between(String propertyName, Object fromValue, Object toValue))` - **示例**: ...
如使用 `session.createCriteria(Class)` 方法来创建 Criteria 实例,然后使用 `add(Criterion criterion)` 方法来添加查询条件,最后使用 `list()` 方法来获取查询结果。 Hibernate 的 Criteria 和 ...
本文将对 Hibernate 中 Criteria 的用法进行总结,涵盖 Criteria 和 DetachedCriteria 的差异、Criterion 和 Projection 的使用方法等。 Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供...
“多项式方法”是解决组合数学问题的技巧之一,它涉及构造和使用多项式来获得问题的下界或上界。多项式方法通常依赖于多项式的根、系数和次数的性质,可以帮助研究者推导出有关和集大小的数学约束条件。 在给出的...
它可以使用不限数量的线程来完成此过程。 安装 apt包即将推出 从源编译 确保在计算机上安装了gcc(4.7或更高版本),make,openssl和openssl-dev(仅Linux,macOS请参见 。此问题将在以后的版本中修复) sudo apt ...