设计上能够灵活的依据 Criteria 的特点来方便地进行查询条件的组装。如今对 Hibernate的Criteria 的使用方法进行总结:
   Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口。以下提供了 Criteria和DetachedCriteria 。

   Criteria 和 DetachedCriteria 的主要差别在于创建的形式不一样。 Criteria 是在线的,所
以它是由 Hibernate Session 进行创建的;而 DetachedCriteria 是离线的。创建时无需
Session,DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name)
进行DetachedCriteria 实例的创建。

Spring 的框架提供了getHibernateTemplate

().findByCriteria(detachedCriteria) 方法能够非常方便地依据DetachedCriteria 来返回查询结
果。
   Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置查询条件。能够设
置 FetchMode( 联合查询抓取的模式 ) ,设置排序方式。

对于 Criteria 还能够设置 FlushModel

(冲刷 Session 的方式)和 LockMode (数据库锁模式)。

1:

DetachedCriteria beautyCriteria =DetachedCriteria.forClass(Beauty.class).createCriteria("customers");

beautyCriteria.add(Restrictions.eq("name", "Gates")):

2:

DetachedCriteria beautyCriteria =DetachedCriteria.forClass(Beauty.class).createAlias("customers","c");

beautyCriteria.add(Restrictions.eq("c.name", "Gates")):

接着有了新的要求,年纪太大的美女不要,还是查找拥有客户Gates的,条件例如以下:

DetachedCriteria beautyCriteria =DetachedCriteria.forClass(Beauty.class, "b").;

DetachedCriteria customerCriteria =beautyCriteria.createAlias("customers", c");

beautyCriteria.add(Restrictions.le("b.age", new Long(20))):

customerCriteria.add(Restrictions.eq("c.name", "Gates")):

DetachedCriteria的使用的更多相关文章

  1. 利用DetachedCriteria构建HQL参数动态匹配

    此文章是基于 搭建SpringMVC+Spring+Hibernate平台 1. DetachedCriteria构建类:CriteriaBuilder.java package com.ims.pe ...

  2. hibernate DetachedCriteria实现多表关联查询createAlias的使用

    记录本例查询初衷: 有表: 表1,表2,表3 关系 1 many-to-one 2 2 many-to-one 3 结果:要通过表3中的条件反向查询表1中相关的数据 public Page<We ...

  3. Criteria 和 DetachedCriteria的区别与使用

    Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的:而 DetachedC ...

  4. Criterion & DetachedCriteria

    今天笔记主要是记录笔记,以及代码: criteria: 创建查询接口:createCriteria(class) 查询条件接口:add(各种条件); Restrictions 提供了设置参数的各种接口 ...

  5. Hibernate3的DetachedCriteria支持

    Hibernate3支持DetachedCriteria,这是一个非常有意义的特性!我们知道,在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态 ...

  6. DetachedCriteria详细使用

    一.基本使用 1. 说明 Restrictions 是产生查询条件的工具类. 2. 定义 可以直接用class 创建 DetachedCriteria searDc = DetachedCriteri ...

  7. 利用DetachedCriteria实现模糊查询和分页

      分类: Java-Developing  前段时间在做模糊查询,并利用数据库分页,DAO用hibernate实现,刚开始的时候 根据业务层的数据,拼hql语句进行查询,且不说要进行一些if判断,单 ...

  8. Criteria 和 DetachedCriteria的区别与使用(转)

    转自:http://javapub.iteye.com/blog/1149709 Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的, ...

  9. Hibernate的DetachedCriteria使用(含Criteria)

    1.背景了解:Hibernate的三种查询方式 Hibernate总的来说共有三种查询方式:HQL.QBC和SQL三种,这里做简单的概念介绍,不详细进行展开. 1.1 HQL(Hibernate Qu ...

  10. hibernate DetachedCriteria 分页

    # 具有一个直观的.可扩展的条件查询API是Hibernate的特色. # # 15.1. 创建一个Criteria 实例 # org.hibernate.Criteria接口表示特定持久类的一个查询 ...

随机推荐

  1. php函数的定义和声明

    1.函数的定义 函数是一个被命名的独立的代码段,它执行特定任务,并可以给调用它的程序返回值. 2.函数的优点 提高程序的重用性 提高程序的可维护性 可以提高软件的开发效率 提高软件的可靠性 控制程序的 ...

  2. Android 五种方式实现Android底部导航栏

    https://segmentfault.com/a/1190000007697941

  3. centos上安装supervisor来管理dotnetcore等应用程序

    supervisor 介绍: 这是一款用python编写的进程管理工具,可以守护他管理的所有进程,防止异常退出,以及提供一个可视化的web界面来手动管理,打开关闭重启各种应用,界面如下: 关于在cen ...

  4. interface与抽象类

    抽象类: 定义:在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类 抽象类不能被实例化. 抽象类被继承之后,子类必 ...

  5. (转)全文检索技术学习(一)——Lucene的介绍

    http://blog.csdn.net/yerenyuan_pku/article/details/72582979 本文我将为大家讲解全文检索技术——Lucene,现在这个技术用到的比较多,我觉得 ...

  6. Linux命令运行监测和软件安装

    监测命令的运行时间 time command $ time sleep 5 real 0m5.003s # 程序开始至结束的时间,包括其它进程占用的时间片和IO时间 user 0m0.001s # 进 ...

  7. Oracle RAC 后台进程

    LMS  - Gobal         全局缓存服务进程 LMD  - Global Enqueue Service Daemon 全局查询服务守护进程 LMON -  全局服务器监控进程 LCK0 ...

  8. Rest 参数(...)

    javascript 之Rest 参数(...) ES6 Rest参数 Rest就是为解决传入的参数数量不一定, rest parameter(Rest 参数) 本身就是数组,数组的相关的方法都可以用 ...

  9. java命令行版的ATM

    import java.util.*;public class Jatm{ static String user = "123"; static String password = ...

  10. STM32F103移值FreeRtos笔记

    RTOS版本:FreeRTOS_V8.2.2 一.下载FreeRTOS源文件       这个可以在百度上下载,或者在官网上面下载http://www.freertos.org/a00104.html ...