Hibernate Criteria条件Restrictions.or查询 循环多个or条件

Hibernate 条件or查询 循环多个or条件

今天公司让我做一个列表查询页面,因为还是对于hibernate的不熟悉刚出来经验不足,代码敲得少,所有导致了种种困难…页面左边有个多级菜单栏,因为种种需求需要我用到SQL查询条件里面的or(或者),但因为用的是hibernate所以我苦苦在网上搜寻,得到了如下代码:

1 Criteria criteria = this.createCriteria();
2 criteria.add(Restrictions.or(Restrictions.eq("name","a"),Restrictions.eq("name","b")));

但是这样只能是一次写一个or条件,我的需求需要我写类似name=”a”or name=”b” or name=”c”…… 
所有我又继续搜索,得到了如下代码:

1 Criteria criteria = this.createCriteria();
2 Disjunction dis = Restrictions.disjunction();
3 for (int i = 0; i < 5; i++) {
4                 dis.add(Restrictions.eq("name", ""+i));
5 }
6 criteria .add(dis);

问题完美解决。 
所有当只需要一个or条件时可以用Restrictions.or();当用到多个or条件时,就需要用到Restrictions.disjunction();

这是我的第一篇博客。刚到上海工作不到半年,希望能快速的进步!加油!!!! 
Alvin_先森

时间: 2025-01-01 17:41:35

Hibernate Criteria条件Restrictions.or查询 循环多个or条件的相关文章

hibernate criteria中Restrictions的用法

转载:http://ligaosong.iteye.com/blog/1469056 1.方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge >= Restrictions.lt < Restrictions.le <= Restrictions.between BETWEEN Restrictions.like LIKE Restrict

[转]hibernate criteria中Restrictions的用法

方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge >= Restrictions.lt < Restrictions.le <= Restrictions.between BETWEEN Restrictions.like LIKE Restrictions.in in Restrictions.and and Restrictions.

Hibernate入门(四)—— 查询

一.Hibernate查询 1.Hibernate检索(查询)方式的分类 OID检索 :根据主键查询,get/load 对象导航检索 :通过一个对象获得其关联对象.[重点] Category category = session.get(Category.class, 1);Set<Product> products = category.getProducts(); HQL检索 :HQL,Hibernate Query Language(Hibernate查询语言,语法与SQL类似,但是又是

hibernate Criteria(条件查询接口)

Criteria(条件查询接口) // 1.简单查询 List<Customer> list = session.createCriteria(Customer.class).list(); // 2.条件查询: Criteria criteria = session.createCriteria(Customer.class); criteria.add(Restrictions.eq("name","芙蓉")); List<Customer&g

hibernate criteria Restrictions工具类用法

CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid); // 查询条件组装器 org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user); Restrictions.or(Restrictions.ilike("userName", searchValue, MatchMode.ANYWHERE), Restrictions

atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria

atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria 1. 关键字 1 2. 统计功能框架普通有有些条件选项...一个日期选项..一个日期类型(日,周,月份,年等) 1 3. 元数据的位置,不需要绑定class 1 4. 设置聚合字段... @reduce(" sum(timLen) "),@reduce(" Avg(timLen) ") 2 5. 设置groupby  字段  @GroupBy 2 6. 设置groupb

Hibernate关联映射及高级查询

一.Hibernate中的关联关系 1.1.单向一对多关联关系 按照以下步骤配置hibernate中持久化类的一对多对象关联: (1).持久化类添加关联类的相关属性及getter/setter方法. (2).映射文件中建立该属性和数据库表字段的映射信息. 比如班级对学生是一对多的关系,班级类Grade类和Grade.hbm.xml文件如下: package com.pb.hibernate.po; import java.util.HashSet; import java.util.Set; p

Hibernate中createCriteria即QBC查询的详细用法

现在假设有一个Student类,内有id,name,age属性String hql = "from Student s";按照以前的做法,我们通常是Query query = session.createQuery(hql);或者要按照条件检索的话.String hql = "from Student s where s.name like '王%'"Query query = session.createQuery(hql);不用HQL而使用QBC的话,那么代码为

hibernate Criteria 使用

: QBE (Query By Example)    Criteria cri = session.createCriteria(Student.class);    cri.add(Example.create(s)); //s是一个Student对象    list cri.list();       实质:创建一个模版,比如我有一个表serial有一个 giftortoy字段,我设置serial.setgifttoy("2"),          则这个表中的所有的giftor