hibernate中Criteria对象的语法

来源:互联网 发布:高光谱遥感数据降维 编辑:程序博客网 时间:2024/05/21 09:08

在使用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