`

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;
    }







分享到:
评论

相关推荐

    Restrictions用法.docx

    本篇将详细讲解`Restrictions`类的常用方法及其在数据查询中的应用。 1. `Restrictions.eq`: 这个方法用于创建一个等于(equal)的条件,例如`Restrictions.eq("fieldName", value)`会生成`fieldName = value`的...

    Restrictions用法.pdf

    2. `Restrictions.allEq`: 如果需要设置多个等于条件,可以使用`allEq`方法,它接受一个Map作为参数,Map的键是属性名,值是对应的比较值。例如,`allEq({"name": "John", "age": 25})`将匹配名字为John且年龄为25的...

    《Pro Oracle SQL》Chapter7--7.10GROUP BY Restrictions

    在7.10 GROUP BY Restrictions这一部分,作者深入探讨了在使用GROUP BY子句时的一些限制和注意事项,这对于理解和编写高效、正确的SQL查询至关重要。 1. GROUP BY基础:GROUP BY子句用于将数据集按照一个或多个列...

    DetachedCriteria Criteria 使用方法

    ### DetachedCriteria 使用详解 #### 一、背景与概述 在Web开发中,经常会遇到需要根据用户提供的...通过合理使用 `DetachedCriteria` 和 `Restrictions`,可以构建复杂且高效的查询逻辑,满足各种复杂的业务需求。

    hibernate criteria的使用方法

    ### Hibernate Criteria 使用方法详解 #### 一、简介 Hibernate 是一款非常流行的 Java 持久层框架,它简化了对象关系映射(ORM)过程中的许多复杂性。在 Hibernate 中,Criteria API 提供了一种类型安全的方式来...

    Hibernate中Criteria的用法

    在上面的代码中,我们首先创建了一个 Criteria 对象,然后使用 `Restrictions.like()` 方法创建了一个条件对象,最后使用 `add()` 方法将条件添加到 Criteria 对象中,并使用 `list()` 方法来获取查询结果。...

    Hibernate中Criteria的完整用法

    下面将详细介绍Criteria API的使用方法和相关知识点。 1. **Query By Example (QBE)**: QBE是一种通过实例对象创建查询的方式。例如,给定一个Student对象`s`,我们可以通过`cri.add(Example.create(s))`来创建一...

    Hibernate Criteria用法大全.docx

    【Hibernate Criteria 用法详解】 Hibernate Criteria API 是一种面向对象的查询方式,它提供了一种比HQL(Hibernate Query Language)更为简洁且直观的查询手段。通过Criteria API,开发者可以构建复杂的查询条件...

    Quantum Complexity restrictions on algorithms and architectures 【PhD 】

    通过这一层次结构,作者重新审视了几个著名的基于数论的量子算法,并将其嵌入到量子计算的框架中,展示了一个使用仅能保持计算基矢不变的门来实现Shor算法的例子,该算法在初始化和读出时均采用Hadamard基矢。...

    Hibernate的Criteria用法

    要开始使用Criteria,你需要在Hibernate的Session中调用`createCriteria()`方法,传入你想查询的实体类的Class对象。例如,如果你要查询Person实体,你会这样做: ```java Criteria c = session.createCriteria...

    DetachedCriteria使用介绍

    - **多条件的 or 规则**:若要实现 OR 查询,需使用 `Restrictions.or()` 方法。例如:`searDc.add(Restrictions.or(Restrictions.eq("deptunid", "aa"), Restrictions.isNull("deptunid")));` 其中,`...

    Oracle_start_with_connect_by_prior_用法[文].pdf

    Oracle 连接查询的使用方法 Oracle 连接查询是指使用 START WITH 和 CONNECT BY 语句来实现递归查询的方法,这种方法可以生成树形结构的数据。在 Oracle 中,START WITH 语句用于指定递归查询的开始记录,而 ...

    Hibernate的Criteria用法总结.doc

    Criterion 的实例可以通过 Restrictions 工具类来创建,Restrictions 提供了大量的静态方法,如 eq(等于)、ge(大于等于)、between 等来方法的创建 Criterion 查询条件(SimpleProjection 实例)。Example 的创建...

    java QBC常用方法

    `Restrictions.not(Restrictions.between())` 方法用于表示“不在...之间”的情况。 - **语法**:`Restrictions.not(Restrictions.between(String propertyName, Object fromValue, Object toValue))` - **示例**: ...

    Hibernate - DetachedCriteria 的完整用法

    如使用 `session.createCriteria(Class)` 方法来创建 Criteria 实例,然后使用 `add(Criterion criterion)` 方法来添加查询条件,最后使用 `list()` 方法来获取查询结果。 Hibernate 的 Criteria 和 ...

    Hibernate中Criteria的完整用法.docx

    本文将对 Hibernate 中 Criteria 的用法进行总结,涵盖 Criteria 和 DetachedCriteria 的差异、Criterion 和 Projection 的使用方法等。 Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供...

    New extensions to the sumsets with polynomial restrictions

    “多项式方法”是解决组合数学问题的技巧之一,它涉及构造和使用多项式来获得问题的下界或上界。多项式方法通常依赖于多项式的根、系数和次数的性质,可以帮助研究者推导出有关和集大小的数学约束条件。 在给出的...

    iOS-Restrictions-Cracker:破解iOS限制密码的多线程快速方法

    它可以使用不限数量的线程来完成此过程。 安装 apt包即将推出 从源编译 确保在计算机上安装了gcc(4.7或更高版本),make,openssl和openssl-dev(仅Linux,macOS请参见 。此问题将在以后的版本中修复) sudo apt ...

Global site tag (gtag.js) - Google Analytics