Hibernate Criteria Restrictions
HQL运算符
QBC运算符
含义
=
Restrictions.eq()
等于equal
<>
Restrictions.ne()
不等于not equal
>
Restrictions.gt()
大于greater than
>=
Restrictions.ge()
大于等于greater than or equal
<
Restrictions.lt()
小于less than
<=
Restrictions.le()
小于等于less than or equal
is null
Restrictions.isnull()
等于空值
is not null
Restrictions.isNotNull()
非空值
like
Restrictions.like()
字符串模式匹配
and
Restrictions.and()
逻辑与
and
Restrictions.conjunction()
逻辑与
or
Restrictions.or()
逻辑或
or
Restrictions.disjunction()
逻辑或
not
Restrictions.not()
逻辑非
in(列表)
Restrictions.in()
等于列表中的某一个值
not in(列表)
Restrictions.not(Restrictions.in())
不等于列表中任意一个值
between x and y
Restrictions.between()
闭区间xy中的任意值
not between x and y
Restrictions.not(Restrictions..between())
小于值X或者大于值y
1.常用的查询限制方法
在例程9-1中,Restrictions.eq()方法表示equal,即等于的情况。Restrictions类提供了查询限制机制。它提供了许多方法,以实现查询限制。这些方法及其他一些criteria常用查询限制方法列于表9-1中。
表9-1 Criteria Query常用的查询限制方法
方 法
说 明
Restrictions.eq()
equal,=
Restrictions.allEq()
参数为Map对象,使用key/value进行多个等于的对比,相当于多个Restrictions.eq()的效果
Restrictions.gt()
greater-than, >
Restrictions.lt()
less-than, <
Restrictions.le()
less-equal, <=
Restrictions.between()
对应SQL的between子句
Restrictions.like()
对应SQL的like子句
Restrictions.in()
对应SQL的in子句
Restrictions.and()
and关系
Restrictions.or()
or关系
Restrictions.isNull()
判断属性是否为空,为空返回true,否则返回false
Restrictions.isNotNull()
与Restrictions.isNull()相反
Order.asc()
根据传入的字段进行升序排序
Order.desc()
根据传入的字段进行降序排序
MatchMode.EXACT
字符串精确匹配,相当于“like 'value'”
MatchMode.ANYWHERE
字符串在中间位置,相当于“like '%value%'”
MatchMode.START
字符串在最前面的位置,相当于“like 'value%'”
MatchMode.END
字符串在最后面的位置,相当于“like '%value'”
例1:查询学生名字以t开头的所有Student对象。
Criteria cr = session.createCriteria(Student.class);
cr.add(Restrictions.like(“name”, “t%”))
List list = cr.list();
Student stu = (Student)list.get(0);
或者使用另一种方式:
Criteria cr = session.createCriteria(Student.class);
cr.add(Restrictions.like(“name”, “t”, MatchMode.START))
List list = cr.list();
Student stu = (Student)list.get(0);
例2:查询学生姓名在Bill, Jack和Tom之间的所有Student对象。
String[] names = {“Bill”, “Jack”, “Tom”}
Criteria cr = session.createCriteria(Student.class);
cr.add(Restrictions.in(“name”, names))
List list = cr.list();
Student stu = (Student)list.get(0);
例3:查询学生的年龄age等于22或age为空(null)的所有Student对象。
Criteria cr = session.createCriteria(Student.class);
cr.add(Restrictions.eq(“age”, new Integer(22));
cr.add(Restrictions.isNull(“age”));
List list = cr.list();
Student stu = (Student)list.get(0);
例4:查询学生姓名以字母F开头的所有Student对象,并按姓名升序排序。
Criteria cr = session.createCriteria(Student.class);
cr.add(Restrictions.like(“name”, “F%”);
cr.addOrder(Order.asc(“name”));
List list = cr.list();
Student stu = (Student)list.get(0);
调用Order.asc的方法应是Criteria的addOrder()方法。
Hibernate Criteria Restrictions的更多相关文章
- hibernate criteria Restrictions工具类用法
CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid); // 查询条件组装器 org.jeecgframework.core.ext ...
- 【hibernate criteria】hibernate中criteria的完整用法 转
---恢复内容开始--- 转自:http://www.360doc.com/content/090313/10/26262_2794855.html 1.Criteria Hibernate 设计了 ...
- atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria
atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria 1. 关键字 1 2. 统计功能框架普通有有些条件选项...一个日期选项..一个日期类型(日,周,月份 ...
- [Hibernate] - Criteria Select
使用Hibernate的Criteria做查询. 参考文档: http://docs.jboss.org/hibernate/orm/3.5/reference/zh-CN/html/querycri ...
- Hibernate Criteria使用
hibernate中Criteria的完整用法 Criteria 是一个完全面向对象,可扩展的条件查询API,通过它完全不需要考虑数据库底层如何实现.SQL语句如何编写,是Hibernate框架的核心 ...
- Hibernate Criteria 查询使用
转载 http://blog.csdn.net/woshisap/article/details/6747466 Hibernate 设计了 CriteriaSpecification 作为 Crit ...
- hibernate.Criteria分页排序模糊查询
org.hibernate.Criteria criteria = simpleDAO.getSession().createCriteria(Event.class); Criterion c = ...
- 分页查询——Hibernate Criteria实现一次查询取得总记录数和分页后结果集
使用Hibernate criteria进行分页查询时,如何实现一次查询取得总记录数和分页后结果集 - bto310 - ITeye博客 https://bto310.iteye.com/blog/1 ...
- hibernate criteria中Restrictions的用法
方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge ...
随机推荐
- HttpWebRequest Post callback
public void GetValueFromRequest(string postData) { var request = (HttpWebRequest) WebRequest.CreateH ...
- Hibernate中一对一关联映射/组件映射
Hibernate映射:一对一关联 1.按照外键映射 2.按照主键映射 组件映射 下面以员工账号表和员工档案表(员工账号和档案表之间是一对一的关系)为例,介绍这两种映射关系,并使用这两种 映射方式分别 ...
- php修改指定文件的指定内容
<?php $origin_str = file_get_contents('路径/文件.txt'); $update_str = str_replace('qwe=0', 'qwe=1', $ ...
- spring security 控制用户信息用户加密 缓存用户信息
1. MD5加密 任何一个正式的企业应用中,都不会在数据库中使用明文来保存密码的,我们在之前的章节中都是为了方便起见没有对数据库中的用户密码进行加密,这在实际应用中是极为幼稚的做法.可以想象一下,只要 ...
- 测试的程序 test.php,保存放IIS的根目录下
IIS+PHP的配置的方法,试过之后很多都不能达到效果.于是总结了大部分的文章后就得出了这样的方法 一.下载必须的程序:(1) 先到PHP的官方网站下载一个PHP(本文就以PHP 4.4.2为例).网 ...
- 【iCore3 双核心板_ uC/OS-III】例程九:任务信号量
实验指导书及代码包下载: http://pan.baidu.com/s/1c1W29uK iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- Docker Compose—简化复杂容器应用的利器
Compose是用于定义和运行复杂Docker应用的工具.你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成. 1. 安装Docker和Compo ...
- nginx服务器状态监控
Nginx开启监控需在编译时加入with-http_stub_status_module,查看当前Nginx编译参数:/usr/local/nginx/sbin/nginx -V 1.以二级目录方式开 ...
- 通过方法名(字符串)执行Objective-C方法
SEL selector = NSSelectorFromString(@"方法名"); if ([self respondsToSelector:selector]){ //判断 ...
- 关于int,long,long long
偶然的,我同学给我发了一个面试题:long 占多少字节 对于这个问题我也不好多说,有时候可能会想的比较多,这个题也需要多想一下 <1>在16位机器上,int 2字节, long 4字节, ...