`

[转]QBC 之 DetchedCriteria

阅读更多

原理DetchedCriteria  是由于这个原因才加入啊

DetchedCriteria  

Criteria與Session綁定,其生命週期跟隨著Session結束而結束,使用Criteria時進行查詢時,每次都要於執行時期動態建立物件,並加入各種查詢條件,隨著Session的回收,Criteria也跟著回收。

為了能夠重複使用Criteria物件,在Hibernate 3中新增了DetchedCriteria,您可以先建立DetchedCriteria實例,並加入各種查詢條件,並於需要查詢時再與Session綁定,獲得一個綁定Session的Criteria物件,例如:

java 代码
  1. // 先建立DetchedCriteria物件   
  2. DetachedCriteria detchedCriteria = DetachedCriteria.forClass(User.class);   
  3. // 加入查詢條件   
  4. detchedCriteria.add(Restrictions.ge("age",new Integer(25)));   
  5.            
  6. Session session = sessionFactory.openSession();   
  7. // 綁定Session並返回一個Criteria實例   
  8. Criteria criteria = detchedCriteria.getExecutableCriteria(session);   
  9.            
  10. List users = criteria.list();   
  11. Iterator iterator =  users.iterator();   
  12. System.out.println("id \t name/age");   
  13. while(iterator.hasNext()) {   
  14.     User ur = (User) iterator.next();   
  15.     System.out.println(ur.getId() +   
  16.                                " \t " + ur.getName() +   
  17.                                "/" + ur.getAge());               
  18. }   


 

分享到:
评论

相关推荐

    QBC的各种查询

    QBC,全称为Query By Criteria,是Java世界中一种基于对象的查询方式,主要用于简化Hibernate框架中的数据查询操作。QBC提供了一种面向对象的方式来构建查询条件,与SQL语句相比,它更易于理解和维护,尤其在处理...

    qbc表达式

    ### QBC表达式:比较运算符详解 在IT领域中,特别是数据库操作方面,QBC(Query by Criteria)是一种常用的技术手段,它提供了一种灵活的方式来构建查询条件。本文将重点介绍QBC方法中的比较运算符及其具体用法,...

    QBC查询的别名方的

    根据提供的文件信息,我们可以推断出此文档主要讨论了QBC(Query By Criteria)查询方法在Hibernate框架中的应用。下面将对文档中的几个关键点进行详细的解析与扩展。 ### QBC查询简介 QBC(Query By Criteria)是...

    Hibernate_QBC和Hibernate_QBE

    标题"Hibernate_QBC和Hibernate_QBE"提及了两个关于Hibernate的查询方式,即Query By Criteria(QBC)和Query By Example(QBE)。Hibernate是Java领域中一个广泛使用的对象关系映射(ORM)框架,它允许开发者以面向...

    QBC的使用全集大全

    **QBC(Query By Example)**是Hibernate框架中的一种查询方式,它允许开发者通过实例对象来构造查询条件,提供了一种更加面向对象的查询方法。QBC查询在处理复杂的动态查询时尤其方便,因为它可以避免编写大量的SQL...

    Hibernate QBC高级查询.rar

    本资源“Hibernate QBC高级查询”聚焦于Hibernate Query by Criteria(QBC)的高级用法,旨在帮助开发者深入理解并熟练运用这一强大的查询机制。 Query by Criteria是Hibernate提供的另一种查询方式,与HQL...

    QBC的相关讲义和例题

    QBC的相关讲义和例题 QBC(Query By Criteria)查询方式是Hibernate提供的“更加面向对象”的一种检索方式。QBC在条件查询上比HQL查询更为灵活,而且支持运行时动态生成查询语句。

    Hibernate(HQL、QBC查询)源码

    Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码

    HQL与QBC的查询条件.doc

    HQL(Hibernate Query Language)和QBC(Query By Example)是Hibernate提供的两种主要的查询方式,它们提供了灵活且强大的查询能力。下面将详细阐述这两种查询方式以及它们的查询条件。 **HQL(Hibernate Query ...

    Hibernate QBC分页

    本篇将详细介绍如何使用Hibernate的Query By Criteria (QBC)方式进行分页查询。 首先,我们需要了解QBC的基本概念。QBC是Hibernate提供的一种基于对象的查询方式,与HQL(Hibernate Query Language)类似,但更接近...

    Hibernate_QBC案例.rar

    // 1.查询所有 // 2.条件查询 // 3.模糊查询 // 4.范围查询 // 5.排序查询(order by) // 6.分页查询 // 7.投影查询(只获取部分字段的结果) // 8.聚集函数使用(聚合函数)(count、sum、avg、max、min等) ...

    QBC QBE查询

    QBC(Query By Example)和QBE(Query By Example)是两种在ORM(Object-Relational Mapping)框架中,特别是Hibernate中使用的查询方法。这两种查询方式都是为了简化SQL语句的编写,使得开发者能更专注于业务逻辑,...

    Java_Hibernate QBC条件查询对比

    本篇文章将深入探讨Hibernate中的QBC(Query By Example)条件查询与传统的HQL(Hibernate Query Language)查询的对比,帮助开发者更好地理解和选择适合的查询方式。 QBC(Query By Example)是Hibernate提供的一...

    Hibernate-HQL-QBC-QBE

    标题中的“Hibernate-HQL-QBC-QBE”涵盖了四个重要的Java持久化框架Hibernate中的概念,分别是Hibernate Query Language(HQL)、Query By Criteria(QBC)、Query By Example(QBE)以及相关的库文件。以下是对这些...

    java QBC常用方法

    ### Java QBC 常用方法详解 在Java开发中,Query by Criteria(QBC)是一种非常实用且灵活的对象查询方式,它允许开发者通过构造复杂的查询条件来获取数据库中的数据。QBC通常与Hibernate框架结合使用,为开发者...

    Hibernate实例开发 HQL 与 QBC 查询

    HQL的强大之处在于它可以处理复杂的查询,比如分组、排序、连接等,例如: ```java query = session.createQuery("from User u join u.roles r where r.name = 'Admin'"); users = query.list(); ``` 这个查询将...

    KPTD-3216QBC-D(Ver.21B).pdf

    根据提供的文件信息,以下是关于KPTD-3216QBC-D发光二极管的知识点汇总: 1. 产品型号和概述:KPTD-3216QBC-D是一种发光二极管(LED),属于Kingbright品牌的今台系列。该型号的LED具有球头1206的封装形式。 2. 发光...

    IEEE Std 802.1Qbc-2011

    IEEE Std 802.1Qbc-2011是一项由电气和电子工程师协会(IEEE)计算机学会所支持的标准,具体由局域网/城域网标准委员会(LAN/MAN Standards Committee)赞助。这项标准是《IEEE 802.1Q-2011 媒体访问控制(MAC)桥接...

Global site tag (gtag.js) - Google Analytics