`
zwt2001267
  • 浏览: 444743 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate的检索方式(二)

 
阅读更多

转自:http://aumy2008.blogbus.com/logs/13887948.html

 

二.设定查询条件

       where子句中给出的是对象的属性名,而不是字段名。

HQLQBC支持的各种运算

运算类型

HQL运算符

QBC运算符

含义

比较运算

=

Expression.eq()

等于

<> 

Expression.not(Expression.eq())

不等于

Expression.gt()

大于

>=

Expression.ge()

大于等于

Expression.lt()

小于

<=

Expression.le()

小于等于

is null

Expression.isNull()

等于空值

is not null

Expression.isNotNull()

非空值

范围运算

in (列表)

Expression.in()

等于列表中的某一个值

not in (列表)

Expression.not(Expression.in())

不等于列表中的任意一个值

between 1 and 2

Expression.between()

大于等于值1并且小于等于值2

not between 1 and 2

Expression.not(Expression.between())

小于值1或者大于值2

字符串模式匹配

like

Expression.like()

字符串模式匹配

逻辑运算

and

Expression.add()或者Expression.conjunction()

逻辑与

or

Expression.or()或者Expression.disjunction()

逻辑或

not

Expression.not()

逻辑非

 1、比较运算

1)不区分大小写:HQL使用lower()或者 upper()来实现(如:”…lower(c.name)=’tom’”);

                              QBC使用.ignoreCase()来实现(如:Expression.eq(“”,””) .ignoreCase())。

注:在HQL中,可以调用SQL函数。lower()转小写,upper()转大写。

       QBC不支持直接调用SQL函数。

 

2HQL查询支持数学运算表达式,而QBC不支持。

 

2、范围运算

HQL中的in示例: c.name in (‘aa’,’bb’)

QBC中的in示例: String[] names={‘aa’,’bb’}; Expression.in(‘name’,names); 

 

3、字符串模式匹配

HQLQBC通用:字符串模式中的通配符

通配符名称

通配符

作用

百分号

%

匹配任意类型且任意长度(长度可以为0)的字符串,如果是中文,需要两个百分号,即“%%

下划线

_

匹配单个任意字符,常用来限制字符串表达式的长度

 

QBCMatchMode类包含的各个静态常量实例

匹配模式

举例

MatchMode.START

Expression.like(“name”,”y”, MatchMode.START)

姓名以y开头

MatchMode.END

Expression.like(“name”,”y”, MatchMode. END)

姓名以y结尾

MatchMode.ANYWHERE

Expression.like(“name”,”y”, MatchMode. ANYWHERE)

姓名中包含y

MatchMode.EXACT

Expression.like(“name”,”y”, MatchMode. EXACT)

精确匹配,姓名必须为y

 

4、逻辑运算

分享到:
评论

相关推荐

    day36-hibernate检索和优化 02-Hibernate检索方式:简单查询及别名查询

    本教程将深入探讨"day36-hibernate检索和优化 02-Hibernate检索方式:简单查询及别名查询"的主题,通过源码分析和实际工具的应用,来提升数据库查询的效率。 首先,我们了解Hibernate的检索方式。在Hibernate中,...

    day36 04-Hibernate检索方式:多表连接查询

    标题中的“day36 04-Hibernate检索方式:多表连接查询”表明这是一个关于Hibernate框架的教程,重点讲解如何在Hibernate中进行多表连接查询。在这个主题中,我们将深入探讨Hibernate的ORM(对象关系映射)机制以及...

    HIBERNATE检索策略

    标题:“HIBERNATE检索策略” 描述:本文深入解析了HIBERNATE的检索策略,为读者提供了一条清晰的学习路径,重点分析了HIBERNATE中的抓取策略及其应用场景,帮助开发者更有效地管理和优化数据加载过程。 在...

    Hibernate的检索方式

    #### 二、OID检索方式 OID检索即通过对象标识符(Object Identity)进行检索。这种方式主要依赖于Hibernate提供的`get`和`load`方法。当已知对象的主键值时,可以直接通过这些方法获取对应的持久化对象。 **特点**...

    Hibernate检索方式

    ### Hibernate检索方式详解 #### 一、概述 Hibernate是一个强大的对象关系映射(ORM)框架,它可以将Java对象与数据库表进行映射,使得开发者能够更方便地进行数据的持久化操作。在Hibernate中,提供了多种检索...

    hibernate5--4.检索方式及策略

    一、Hibernate检索方式 1. **HQL(Hibernate Query Language)**: HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但它是基于类和对象的。你可以通过HQL来查询、更新和删除对象,而无需关心底层的SQL语法。...

    java-Hibernate 检索

    Hibernate 是一个流行的 Java 持久层框架,它提供了多种检索数据的方式,包括导航对象图检索、OID 检索、HQL 检索、QBC 检索和本地 SQL 检索等。下面将详细介绍每种检索方式。 一、导航对象图检索 导航对象图检索...

    Hibernate数据检索(HQL)笔记

    ### Hibernate数据检索(HQL)知识点详解 #### 一、简介 Hibernate 是一款开源的对象关系映射(ORM)框架,它允许开发人员将 Java 对象映射到数据库表中的记录,从而极大地简化了数据访问层的开发工作。本文档基于...

    Hibernate数据检索(HQL)笔记

    在 Hibernate 中,数据检索可以使用 HQL 语句或 Criteria API 两种方式。HQL 语句是一种类似 SQL 的查询语言,用于定义查询条件和检索数据,而 Criteria API 则是一种基于对象的查询接口,用于构建查询条件和检索...

    基于Spring的Hibernate Search全文检索功能示例

    3. **Hibernate Search**:作为Hibernate的一个扩展,Hibernate Search提供了基于Lucene的全文检索功能,使得在数据库中的数据可以被快速、精确地搜索。 **二、集成Hibernate Search** 1. **配置依赖**:首先,你...

    浪磬J2EE第一期 Hibernate专题 第六讲 检索方式

    一、Hibernate检索方式概述 Hibernate提供了多种检索数据的方法,以适应不同的需求场景。这些方法包括:HQL(Hibernate Query Language)、QBC(Query By Criteria)、Criteria API以及直接使用Session的get()和load...

    Hibernate的检索策略

    #### 二、类级别检索策略 类级别检索策略是指当查询一个实体类时,如何加载该实体类中的属性和关联关系。这通常涉及到单个实体的加载方式,而不是实体之间的关联关系。 ##### 1. Eager(急切)加载 - **定义**:...

    hibernate基础 注解开发 检索

    Hibernate提供了多种方式来查询数据,包括HQL、QBC和本地SQL。 - **HQL (Hibernate Query Language)**:一种面向对象的查询语言,类似于SQL但更加面向对象。 - **QBC (Query By Criteria)**:基于标准的API提供了一...

    Hibernate 对象的状态检索

    本人在厦门邦初培训时候 使用的快速入门精简文档 Session缓存的作用 Session清理缓存的时间点 对象的临时状态、持久状态和游离状态 用session的update()方法使游离对象转变为持久化对象。...本地SQL检索方式

    Manning.Java.Persistence.with.Hibernate[Hibernate实战第二版].pdf

    第二版的亮点在于它对Hibernate 3的新特性和改进进行了详尽的讲解,包括更强大的类型系统、增强的检索模型、改进的查询性能和对Java 5及更高版本的支持。此外,作者Gavin King深入探讨了最佳实践,帮助读者避免常见...

    hibernate的检索

    【Hibernate检索策略】 Hibernate提供三种主要的检索策略:立即检索、延迟检索和迫切左外连接检索。 1. **立即检索**:这种策略将立即加载关联的对象,无论对象是持久化状态还是游离状态。优点是应用程序可以方便...

    hibernate的延迟检索在轻量级J2EE框架中的应用

    - **缓存策略**:结合Hibernate的一级缓存和二级缓存,可以进一步提升延迟加载的效果。通过适当的缓存策略,可以避免频繁的数据库查询,从而提高系统的整体性能。 - **错误处理**:需要注意的是,延迟加载可能会导致...

    Hibernate 二级缓存 总结整理

    **Hibernate 二级缓存总结整理** 在Java的持久化框架中,Hibernate是一个广泛使用的ORM(对象关系映射)工具,它极大地简化了数据库操作。在处理大数据量或高并发的场景下,为了提高性能和减少数据库负载,...

Global site tag (gtag.js) - Google Analytics