`

hibernate DetachedCriteria

阅读更多

DetachedCriteria可以解决这个问题,即在web层,程序员使用 DetachedCriteria来构造查询条件,然后将这个DetachedCriteria作为方法调用参数传递给业务层对象。而业务层对象获得 DetachedCriteria之后,可以在session范围内直接构造Criteria,进行查询。就此,查询语句的构造完全被搬离到web层实 现,而业务层则只负责完成持久化和查询的封装即可,与查询条件构造完全解耦,非常完美!这恐怕也是以前很多企图在web层代码中构造HQL语句的人想实现 的梦想吧!

DetachedCriteria c = DetachedCriteria.forClass(Department.class);
c.add(Restrictions.eq("name", "department")).createAlias("employees", "e").add(Restrictions.gt(("e.age"), new Integer(20)));

getHibernateTemplate().findByCriteria(c)

or

getHibernateTemplate().findByCriteria(c, first, max);

分享到:
评论

相关推荐

    Hibernate(24): 为什么用DetachedCriteria不能表连接地取数据?

    在Java的持久化框架Hibernate中,DetachedCriteria是一个强大的查询工具,它允许我们在不与Session交互的情况下构建查询条件。然而,DetachedCriteria在处理复杂的关联查询,尤其是涉及到表连接(JOIN)时,可能存在...

    Hibernate - DetachedCriteria 的完整用法

    "Hibernate - DetachedCriteria 的完整用法" Hibernate 的 Criteria 和 DetachedCriteria 是两个不同的概念,虽然它们都是用于查询数据的,但它们在创建和使用上有所不同。 首先,Criteria 是在线的,需要通过 ...

    Hibernate 使用DetachedCriteria操作

    **Hibernate 框架及其DetachedCriteria操作详解** Hibernate 是一个强大的Java持久化框架,它极大地简化了数据库操作,使得开发者能够用面向对象的方式处理数据库事务。本篇将深入探讨Hibernate中的...

    java导出excel的详细例子

    此外,还利用了`Apache Commons BeanUtils`来进行对象属性的操作,以及`Hibernate`的`DetachedCriteria`进行数据查询。以下是具体的关键技术和工具: - **jxl**:用于读写Excel文件。 - **Apache Commons BeanUtils*...

    DetachedCriteria查询

    DetachedCriteria 是 Hibernate 中的一种离线查询对象,它可以在不依赖 Session 的情况下生成动态 SQL 语句并进行查询。下面是 DetachedCriteria 查询的详细知识点: 创建 DetachedCriteria 对象 DetachedCriteria...

    DetachedCriteria使用介绍

    `DetachedCriteria` 是 Hibernate 提供的一种灵活且强大的查询机制,它允许你在脱离 Session 的情况下构建复杂的查询标准,这意味着你可以提前构建查询标准,然后在任何地方执行查询,而无需关心当前是否有 Session...

    Hibernate_query查询数据表中的一个字段.

    总结,Hibernate提供多种方式查询数据表中的字段,包括HQL、Criteria API和DetachedCriteria,选择合适的方法取决于具体需求。正确理解和使用Hibernate,能够大大提高Java开发中的数据库操作效率。

    Hibernate执行持久层访问步骤

    2. QBC查询:Query By Criteria API允许基于Java对象属性进行查询,通过Criteria、DetachedCriteria构建查询条件。 3. SQL查询:对于更复杂的查询需求,可以使用Session的createSQLQuery()方法,直接编写SQL语句。 ...

    Hibernate的Criteria用法总结

    Criteria用于在线查询,直接与Hibernate Session关联,而DetachedCriteria则可在不依赖Session的情况下创建,适用于离线或延迟执行的查询。DetachedCriteria可以通过`forClass(Class)`或`forEntityName(String)`静态...

    hibernate in action 中文版书籍

    5. ** Criteria和DetachedCriteria**:详细阐述Criteria查询的使用,包括条件查询、排序、分页,以及DetachedCriteria的概念,用于创建可复用的查询模板。 6. **事务和缓存**:讨论Hibernate的事务管理,包括编程式...

    Hibernate思维导图

    11. **Criteria API的子集:DetachedCriteria**:DetachedCriteria可以在不直接与数据库交互的情况下构建查询条件,然后在需要的时候再执行,有利于提高性能。 12. **一对多(One-to-Many)、多对一(Many-to-One)...

    Hibernate3中文文档

    8. ** Criteria API的DetachedCriteria**:DetachedCriteria允许在不打开Session的情况下构建查询,之后在需要时再与Session结合执行,适合于分页查询和延迟加载。 9. **缓存机制**:Hibernate提供了第一级缓存...

    Hibernate 手册中文版chm格式

    5. Criteria API和DetachedCriteria:进一步深入,探讨如何使用Criteria API执行复杂的查询,并介绍DetachedCriteria,用于在不同会话间构建和执行查询。 6. Native SQL:当需要充分利用数据库特定特性时,可以使用...

    Hibernate 3.2.0 中文官方文档

    7. **Criteria API与DetachedCriteria**:Criteria API用于构建动态查询,DetachedCriteria则允许在不接触SessionFactory的情况下构造查询,适用于复杂的查询场景。 8. **集合映射**:如何处理一对多、多对一、多对...

    hibernate中文参考文档pdf

    7. **Criteria API的DetachedCriteria**:允许在不与数据库交互的情况下构造查询,之后再进行执行,有助于实现更高效的查询策略。 8. ** Criteria API的Projections**:用于获取聚合结果,如计数、求和、平均值等。...

    hibernate5.1.10 依赖jar包

    通过Criteria、DetachedCriteria和Expression对象,可以构建复杂的查询条件,无需编写SQL。 **6. HQL:Hibernate查询语言** HQL是Hibernate特有的面向对象的查询语言,类似于SQL,但操作的是对象而非表。它可以执行...

    hibernate-distribution中文帮助手册

    8. **Criteria与DetachedCriteria**:Criteria用于在线程内的查询,而DetachedCriteria则允许在不直接与数据库交互的情况下构建查询条件。 9. **Caching**:Hibernate支持二级缓存,可以使用第三方缓存如 EhCache ...

    hibernate程序高手秘笈-英文版

    4. **Criteria和DetachedCriteria**:学习使用Criteria API动态构建查询条件,以及DetachedCriteria用于离线查询,了解其在复杂查询中的应用。 5. **缓存机制**:理解Hibernate的缓存层次结构,包括第一级缓存和第...

    hibernate3.2_src官方源码

    通过`Criteria`和`DetachedCriteria`接口,可以在运行时构造查询条件。 4. **HQL(Hibernate Query Language)**:Hibernate特有的查询语言,类似于SQL,但面向对象。源码中的`org.hibernate.hql`包包含了HQL解析器...

    传智播客_hibernate

    3. **Criteria查询**: 提供一种面向对象的查询方式,通过Criteria和DetachedCriteria构建查询条件。 4. ** Criteria API的Join操作**: 支持多表查询,包括内连接(inner join)、左连接(left join)等。 5. **...

Global site tag (gtag.js) - Google Analytics