您的位置:首页 > 其它

hibernate中Criteria对象的语法

2017-08-24 15:52 387 查看
在使用hibernate的查询对象进行编辑查询条件时,罗列一些简单的语法代码:

//添加用户名不等于admin的条件
criteria.add(Restrictions.not(Restrictions.eq("roleName",SYSTEM_ADMIN_ROLE_NAME)));
//添加按照修改时间进行倒序排列
criteria.addOrder(Order.desc("updateTime"));
//模糊查询  ilike忽略大小写  like不忽略大小写  ANYWHERE是设置位置
criteria.add(Restrictions.ilike("voiceNumber",voiceNumber, MatchMode.ANYWHERE));

查询表中指定的列时:

//获取查询对象
Criteria criteria = getSession().createCriteria(TopicClassification.class);
//创建查询字段列表
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.property("uuid"));
//添加查询条件
criteria.setProjection(projectionList);


将结果去重

//将结果去重
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

分页查询

//设置查询总页数
criteria.setProjection(Projections.rowCount());
//添加排序条件
criteria.addOrder(Order.desc("updateTime"));
//添加分页条件
criteria.setFirstResult(startSize);
criteria.setMaxResults(pageSize);

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
引用了博主
http://blog.csdn.net/bestlxm/article/details/6735464
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: