Hibernate hql where子句
参考 http://www.imooc.com/learn/410
1、比较运算
1.1、比较运算符 =、<> 、<、>、<=、>=
1.2、null值比较
hql的 where c.description <> null
等价于 sql 的where c.description is not null
hql的 where c.description = null
等价于 sql 的where c.description is null
2、范围运算
2.1、[not] in (列表)
如果给定的属性值在候选列表中存在,返回true,否则返回false
2.2、[not] between 值1 and 值2
如果给定的属性值在给定的区间内,返回true,否则返回false
3、字符串模式匹配
like关键字
通配符
% 匹配任意字符 where c.address like '%北京%'
_匹配一个字符 where c.address like '_北%'
4、逻辑运算
逻辑与and,逻辑或or,逻辑非not
5、集合运算
5.1、is[not] empty
判断集合是不是空集合,不包含任何元素
hibernate 会把hql 的 is [not] empty这个转成 sql中的exist
如果持久化类的属性是一个集合,不是基本类型,并且用这个集合类的属性在where条件中,就可以用到is [not] empty
5.2、member of 元素属于集合 in
6、四则运算+、-、*、/
可以用在select子句,也可以用在where子句