以下是常用的操作方法:
= Restrictions.eq() 等于
<> Restrictions.not(Exprission.eq()) 不等于 //Restrictions.ne()
> Restrictions.gt() 大于
>= Restrictions.ge() 大于等于
< Restrictions.lt() 小于
<= Restrictions.le() 小于等于
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() 等于列表中的某一个值
ont in(列表) Restrictions.not(Restrictions.in())不等于列表中任意一个值
between x and y Restrictions.between() 闭区间xy中的任意值
not between x and y Restrictions.not(Restrictions..between()) 小于值X或者大于值y
有意思的是原来 Criteria 方法里面也可以使用常见的SQL语法,之前还真没注意到,看下面
//Criteria 拼接字符串查询还能这样
Criteria criteria = new Criteria();
Set<String> strCodeSet = new HashSet<String>(); //key = stuCode^claCode
criteria .add(Restrictions.in("stuCode|| '^' || claCode", strCodeSet .toArray()));