Hibernate HQL基础 限定查询条件(这里面有各种条件查询)
在HQL中可以使用表达式完成指定的运算或者作为限制查询结果的条件。如下表所示
|-----------------------------------------------------------|
| 类别 | 运算符 |
|---------------------------|-------------------------------|
|逻辑运算符 |or、and及not |
|---------------------------|-------------------------------|
|数学运算符 |+、-、*、/ |
|---------------------------|-------------------------------|
| |=、<>、!=、<、>、<=、>=、like、|
| |not like、between、not between |
|比较运算符 |in、not in、is null、 |
| |is not null、is empty、 |
| |is not empty、member of、 |
| |not member of |
|---------------------------|-------------------------------|
|字符串连接 | || |
|---------------------------|-------------------------------|
|分支选择 |case及case...when...then...else|
| |....end |
|---------------------------|-------------------------------|
|集合运算 |some、exists、all、any |
|---------------------------|-------------------------------|
1、where子句
在HQL中使用where子句来限定查询条件,该子句后跟表示限定查询条件的表达式。如:
Query query = session.createQuery("from Guestbook where name = 'XXX'");
2、between子句
在HQL的where子句中使用between可以返回属性值在指定范围之内的记录。如:
Query query = session.createQuery("from Guestbook where id between 1 and 10");
3、not between子句
在HQL中的where子句使用not between可以返回属性值不在指定范围之内的记录。如:
Query query = session.createQuery("from Guestbook where id not between 1 and 10");
4、in子句
在HQL中的where子句使用in可以返回属性值在指定集合中的记录。如:
Query query = session.createQuery("from Guestbook where name in ('XXX','XXX')");
5、not in子句
在HQL中的where子句使用not in可以返回属性值不在指定集合中的记录。如:
Query query = session.createQuery("from Guestbook where name not in ('XXX','XXX')");
6、like子句
在HQL中的where子句使用like子句可以模糊查找属性值。"_"可以匹配一个字符,“%”可以匹配0个 多个字符。如:
Query query = session.createQuery("from Guestbook where name like 'X%'");
7、not like子句
在HQL中的where子句中使用not like子句可以模糊查询属性值的取非。如:
Query query = session.createQuery("from Guestbook where name not like 'X%'");
8、and子句
在HQL中的where子句中使用and表示查询条件之间与的关系。如:
Query query = session.createQuery("from Guestbook where name = 'XXX' and id<10");
9、or子句
在HQL中的where子句中使用or表示查询条件之间或的关系。如:
Query query = session.createQuery("from Guestbook where name='XX' or name = ’XXX‘");
10、not子句
在HQL中的where子句中使用not表示查询条件的非。如:
Query query = session.createQuery("from Guestbook where not(name='XXX')");
11、is null子句
在HQLwhere子句中,is null用来判断实体类的某些属性值是否为空。如:
Query query = session.createQuery("from Guestbook where email is null");
11、is not null子句
在HQLwhere子句中,is null用来判断实体类的某些属性值是否不为空。如:
Query query = session.createQuery("from Guestbook where email is not null");
Hibernate HQL基础 限定查询条件(这里面有各种条件查询)相关推荐
- hql 字符串where语句_Hibernate HQL基础 限定查询条件
在HQL中可以使用表达式完成指定的运算或者作为限制查询结果的条件.如下表所示 |-----------------------------------------------------------| ...
- Hibernate HQL基础 投影查询
HQL中投影查询即查询一个持久化类的一个或多个属性值(不包括全部属性值),则需要使用HQL的select子句. 1.查询持久化对象的单一属性值 为查询持久化对象的一个属性值,在select子句后 ...
- Hibernate HQL基础 调用数据库存储过程
在Hibernate中也可以通过SQLQuery对象调用数据库的存储过程,但是要求存储过程必须返回一个结果集. 如在Oracle数据库的一个存储过程为: CREATE OR REPLACE PROCE ...
- weblogic10异常:org.hibernate.hql.ast.HqlToken
今天部署应用到WLS10上,在运行过程中出现 ClassNotFoundException: org.hibernate.hql.ast.HqlToken 错误weblogic异常退出. GOOGLE ...
- Hibernate 学习笔记(二)—— Hibernate HQL查询和 QBC 查询
目录 一.Hibernate 的 HQL 查询 1.1.查询所有数据 1.2.条件查询 1.3.排序查询 1.4.统计查询 1.5.分页查询 1.6.投影查询 二.Hibernate 的 QBC 查询 ...
- SQL语法之基础查询(进阶1)and条件查询(进阶2)
SQL语法体系学习笔记 SQL语法之基础查询(进阶1)and条件查询(进阶2) SQL语法之排序查询(进阶3)and常见函数(进阶4) SQL语法之分组函数,分组查询(进阶5)and连接查询(sql9 ...
- Hibernate hql 查询指定字段并获取结果集
Hibernate hql 查询指定字段并获取结果集 在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况: 1.查询全部字 ...
- hibernate hql 关联查询_Hibernate【关联查询篇】
1. Hibernate 关联查询 1.1. 说明 Hibernate框架支持通过配置映射关系实现多表关联查询. 1.2. 类型 关联查询分为:一对一(one-to-one).一对多(one-to-m ...
- hibernate mysql 关联查询_hibernate 查询缓存,以及在关联表查询缓存下使用HQL,而不是sql去查询...
什么是查询缓存? 也就是如果开启了查询缓存, 在 没有使用二级缓存的情况下,会 缓存第一次查询出来的数据的id. 第二次查询的时候, 如果查询的参数和查询语句没有变化,那么就会使用 第一次查询的出来的 ...
最新文章
- 虚拟纹理与几何图像技术
- easyui combotree的使用
- DB2存储过程——条件判断语句if then
- 树莓派第三代跨越发展,采用64位处理器内建WiFi及蓝牙
- 第七届蓝桥杯(国赛)——随意组合-dfs,next_permutation
- java不规则算法_分布式id生成算法 snowflake 详解
- 【转载】Android 工具-adb原理
- 数据可视化技术对于企业的重要性
- H3C ospf与nat转换
- MySQL数据库的登陆
- Nginx 读写分离详解
- xp计算机调亮度,老xp系统怎么调亮度台式电脑(教你XP系统如何调节亮度)
- 什么?你居然不会微信分身
- AR、VR、MR 别傻傻分不清了
- 山东大学软件工程应用与实践——WeaselTSF(一)
- 服务器2012怎么换桌面背景,Windows Server 2012 R2桌面化详细设置图解
- 推动计算机革命的幕后黑手
- Android轻量级APM性能监测方案
- linux中浏览器连不上网络,在Linux中修复Firefox浏览器“Network Protocol Error”错误的方法...
- 微信小程序定义公共方法
热门文章
- python 定时加载网页
- VTK:阴影灯用法实战
- boost::execution_monitor相关的测试程序
- boost::histogram::accumulators::count用法的测试程序
- boost::core_numbers用法的测试程序
- boost::functional模块功能性的测试程序
- GDCM:基本应用程序级别机密性配置文件测试程序
- VTK:可视化之BoxClipUnstructuredGrid
- VTK:简单操作之FloatingPointExceptions
- VTK:相互作用之RubberBand3D