`

Criteria 笔记

阅读更多

Criteria Query
可以看作传统sql的对象化表示

Criteria 可以由session创建
Criteria ct= session.createCriteria(TUser.class);

Criteria中可以增加查询条件
ct.add(Expression.eq("name","Erica"));
ct.add(Expression.eq("sex",new Integer(1)));

Criteria中增加的查询条件可以由表达式对象创建
Expression.eq(对象属性名,对象属性值);

查询条件通过Criteria的add方法加入。

表达式对象的方法有:
eq  等于,第一个参数是对象属性,第二个参数是值
allEq  参数为一个Map对象,相当于多个eq的叠加
gt  大于
ge  大于等于
lt  <
le  <=
between  在两个值之间Expression.between("age",new Integer(10),new Integer(20));
like  like查询
in   in查询
eqProperty 用于比较两个对象的属性的值是否相等
gtProperty 
geProperty
ltProperty
leProperty
and  and方法可以嵌套Expression对象,用于and关系
or  同上
  如:Expression.or(
   Expression.eq("name","hulei"),
   Expression.eq("name","jane")
   );
sql  作为Expression对象的补充,本方法提供对原生sql的支持

***注意,在Hibernate3中,引入了Restrictions类作为Expression的替代,以后的版本,不再推荐使用Expression。
***但是,Restrictions类的使用方法和Expression的方法一致。

注意,在查询条件中,Hibernate提供了一个Example查询,当查询条件比较多的时候,
可以用Example查询来简化代码,使用方法如下:
TUser user=new TUser();
user.setLoginName("hulei");
user.setPassword("hulei");
Criteria ct=session.createCriteria(TUser.class);
ct.add(Example.create(user));
return ct.list();


复合查询
Criteria查询可以嵌套Criteria来实现复合查询
如下:
Criteria ct=session.createCriteria(TUser.class);
Criteria ctAddress=ct.createCriteria("addresses");//这里是嵌套了一个Criteria查询,这里的addresses是TUser的属性
ctAddress.add(Expression.like("address","%shanghai%"));
List list=ct.list();

分享到:
评论

相关推荐

    Struts2笔记+Hibernate3.6笔记+Spring3笔记

    3. **Criteria查询**: 提供面向对象的查询方式,避免硬编码SQL。 4. **HQL(Hibernate Query Language)**: Hibernate特有的SQL方言,支持更复杂的查询。 5. **缓存机制**: 第一级缓存(Session级别的)和第二级缓存...

    韩顺平.2011版.hibernate笔记.zip

    笔记将介绍如何使用Criteria API构建动态查询,以及如何使用DetachedCriteria实现延迟加载。 7. Criteria API与CGLIB代理:Hibernate在处理懒加载时会用到CGLIB代理,这部分内容可能会涉及到如何使用CGLIB和...

    软件工程师学习笔记大全(C++ JAVA)

    笔记可能涵盖实体管理、会话工厂、HQL(Hibernate Query Language)、 Criteria API等内容,帮助开发者高效地处理数据库操作。 CoreJavaNoteBook.pdf: 又一份关于Java基础的笔记,可能包含与MS Word版不同的观点或...

    hibernate学习笔记_北大青鸟课堂笔记全文

    【hibernate学习笔记_北大青鸟课堂笔记全文】 Hibernate是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了便捷的数据持久化方案。在Java应用中,尤其是在企业级开发中,它扮演着至关重要的角色,使得我们...

    韩顺平hibernate笔记

    在实体管理方面,笔记可能会涉及持久化操作,如Save、Update、Delete和Load,以及如何使用Criteria、HQL(Hibernate Query Language)和JPQL(Java Persistence Query Language)进行复杂查询。Hibernate的查询语言...

    软件工程师学习笔记大全(C++,JAVA)4.rar

    3. **Hibernate.doc** - Hibernate是一个流行的Java ORM(对象关系映射)框架,这份文档可能详细介绍了如何配置Hibernate,实体类的创建,映射文件的编写,以及如何进行CRUD操作,还有查询语言HQL和Criteria API的...

    hibernate个人学习笔记完整版

    Hibernate提供了HQL(Hibernate Query Language)和 Criteria API,这两种查询方式可以让你更加灵活地对数据进行检索。 在高级主题中,笔记会涉及一对多、多对一、一对一和多对多的关系映射。这些关系映射是ORM的...

    李兴华SSH课堂笔记

    Hibernate通过配置文件(hibernate.cfg.xml)和映射文件(.hbm.xml)来定义实体类与数据库表的对应关系,提供了Criteria、Query、HQL等多种查询方式。 **SSH整合** SSH整合的关键在于Spring如何协调Struts和...

    SSH-框架笔记

    它支持多种数据库,提供了一套完整的生命周期管理,包括查询语言HQL和 Criteria API,以及二级缓存机制。 **SSH整合**:整合SSH框架,通常会利用Spring的IoC容器来管理Struts2的Action和Hibernate的SessionFactory...

    传智播客 hibernate笔记(word+pdf+源码)

    此外,可能还会涉及到 Hibernate 的检索策略,如 HQL(Hibernate Query Language)查询、Criteria 查询和 Criteria API,以及一对多、多对一、一对一和多对多的关联映射。 【pdf讲义】通常会以更加系统和结构化的...

    Java相关课程系列笔记之十四Hibernate学习笔记

    - Criteria/Query/HQL:用于查询数据。 2.3 Hibernate使用步骤 1. 创建实体类及对应的映射文件。 2. 初始化SessionFactory。 3. 获取Session,开启Transaction。 4. 执行CRUD操作(创建、读取、更新、删除)。 5. ...

    Criteria的特点

    压缩包中的文档“HQL语法入门学习.doc”和“HQL笔记.doc”可能包含了关于HQL的更多详细信息,HQL是Hibernate的查询语言,类似于SQL,用于从对象数据库中检索数据。了解HQL可以帮助你更好地理解Criteria API的用途和...

    邹波老师Hibernate教程学习笔记

    5. **Criteria查询与HQL**:除了SQL,Hibernate提供了Criteria API和HQL(Hibernate Query Language)来进行更面向对象的查询。笔记会对比两者的用法,讲解如何构建复杂的查询条件。 6. **缓存机制**:Hibernate的...

    hibernate 超级经典笔记

    进一步,笔记详细讨论了HQL(Hibernate Query Language)和 Criteria API,这两种查询方式提供了比传统SQL更高级别的抽象,使代码更加简洁且易于维护。此外,还包括了多对一、一对一、一对多、多对多等关联关系的...

    hibernate笔记

    本笔记将深入探讨 Hibernate 的核心概念、配置、实体映射、查询语言及缓存机制。 1. **核心概念** - **对象关系映射(ORM)**: Hibernate 提供了一种桥梁,将 Java 对象与数据库中的记录关联起来,使得开发者可以...

    hibernate框架开发2016版视频 四天学习笔记完整版

    【hibernate框架开发2016版视频 四天学习笔记完整版】 在软件开发领域,特别是Java Web开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使开发者可以更专注于业务逻辑而不是...

    Hibernate学习笔记

    笔记会对比HQL和Criteria API的使用场景,并给出实例。 8. ** Criteria API的DetachedCriteria** DetachedCriteria用于构建离线查询,可以在不开启Session的情况下预编译查询,提高性能。笔记将阐述其工作原理及...

    韩顺平2011hibernate3.3视频教程ppt、笔记

    【标题】"韩顺平2011hibernate3.3视频教程ppt、笔记" 涉及的是关于Hibernate框架的深入学习资料,由知名IT讲师韩顺平在2011年推出的系列教程。这个教程通过PPT演示和笔记的形式,详细讲解了Hibernate 3.3版本的相关...

Global site tag (gtag.js) - Google Analytics