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
注:Restrictions.ge("id",20) 表示id大于等于20
很屌的一个功能
StringBuffer queryStringBuffer = new StringBuffer();
queryStringBuffer.append("SELECT DISTINCT(u) From User u");
queryStringBuffer.append(" JOIN u.userRelativeList ur");
queryStringBuffer.append(" WITH ur.isDeleted =:isDeleted");
if (org.springframework.util.StringUtils.hasText(dto.getKeyword())) {
queryStringBuffer.append(" AND (ur.realName LIKE :keyword");
queryStringBuffer.append(" OR ur.mobile LIKE :keyword");
queryStringBuffer.append(" OR ur.email LIKE :keyword");
queryStringBuffer.append(" OR ur.nickName LIKE :keyword)");
}
if (dto.getConfirmStatus() != null && dto.getConfirmStatus()) {
queryStringBuffer.append(" JOIN u.certificateList uc");
queryStringBuffer.append(" WITH uc.isDeleted =:isDeleted");
queryStringBuffer.append(" AND uc.status = :status");
}