Hibernate的检索方式(二)
2010-06-12 13:41
399 查看
<< Hibernate的检索方式(一)
| 首页
| Hibernate的检索方式(三) >>
Hibernate的检索方式(二) - [Hibernate
版权声明
:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://aumy2008.blogbus.com/logs/13887948.html
二.设定查询条件
在
where
子句中给出的是对象的属性名,而不是字段名。
HQL
和
QBC
支持的各种运算
1
、比较运算
(
1
)不区分大小写:
HQL
使用
lower()
或者
upper()
来实现(如:
”…lower(c.name)=’tom’”
);
QBC
使用
.ignoreCase()
来实现(如:
Expression.eq(“”,””) .ignoreCase()
)。
注:在
HQL
中,可以调用
SQL
函数。
lower()
转小写,
upper()
转大写。
QBC
不支持直接调用
SQL
函数。
(
2
)
HQL
查询支持数学运算表达式,而
QBC
不支持。
2
、范围运算
HQL
中的
in
示例:
c.name in (‘aa’,’bb’)
;
QBC
中的
in
示例:
String[] names={‘aa’,’bb’}; Expression.in(‘name’,names);
。
3
、字符串模式匹配
HQL
和
QBC
通用:字符串模式中的通配符
QBC
:
MatchMode
类包含的各个静态常量实例
4
、逻辑运算
待续!
| 首页
| Hibernate的检索方式(三) >>
2008-01-14
Hibernate的检索方式(二) - [Hibernate
]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://aumy2008.blogbus.com/logs/13887948.html
二.设定查询条件
在
where
子句中给出的是对象的属性名,而不是字段名。
HQL
和
QBC
支持的各种运算
运算类型 | 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
)不区分大小写:
HQL
使用
lower()
或者
upper()
来实现(如:
”…lower(c.name)=’tom’”
);
QBC
使用
.ignoreCase()
来实现(如:
Expression.eq(“”,””) .ignoreCase()
)。
注:在
HQL
中,可以调用
SQL
函数。
lower()
转小写,
upper()
转大写。
QBC
不支持直接调用
SQL
函数。
(
2
)
HQL
查询支持数学运算表达式,而
QBC
不支持。
2
、范围运算
HQL
中的
in
示例:
c.name in (‘aa’,’bb’)
;
QBC
中的
in
示例:
String[] names={‘aa’,’bb’}; Expression.in(‘name’,names);
。
3
、字符串模式匹配
HQL
和
QBC
通用:字符串模式中的通配符
通配符名称 | 通配符 | 作用 |
百分号 | % | 匹配任意类型且任意长度(长度可以为 0 )的字符串,如果是中文,需要两个百分号,即“ %% ” |
下划线 | _ | 匹配单个任意字符,常用来限制字符串表达式的长度 |
:
MatchMode
类包含的各个静态常量实例
匹配模式 | 举例 |
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 |
、逻辑运算
待续!
相关文章推荐
- Hibernate学习之路(十一):hibernate的检索方式(Oracle数据库)
- [原创]java WEB学习笔记90:Hibernate学习之路-- -HQL检索方式,分页查询,命名查询语句,投影查询,报表查询
- Hibernate的检索方式(2)hql
- JAVAWEB开发之Hibernate详解(三)——Hibernate的检索方式、抓取策略以及利用二级缓存进行优化、解决数据库事务并发问题
- Hibernate检索方式
- Hibernate —— HQL、QBC检索方式
- hibernate提供的5种检索数据方式
- Java程序员从笨鸟到菜鸟之(六十三)细谈Hibernate(十四)Hibernate三种检索方式详解
- Hibernate的检索方式详解(一)
- hibernate检索方式——get和load检索方式的区别
- Hibernate检索方式
- Hibernate检索方式的学习2015-11-14
- Hibernate的检索方式
- Hibernate的QBC检索方式
- Hibernate的五种数据检索方式
- Hibernate基础学习(七)—检索方式
- 【知识整理】Hibernate的HQL检索方式使用入门
- Hibernate的其他几种检索方式:
- Hibernate 检索方式
- Hibernate检索方式浅记