您的位置:首页 > 其它

52.Hibernate Hql与Criteria查询的补充知识

2012-05-05 11:13 429 查看

*HQL

1.查询多个对象select art, user from Article art, User user where art.author.id = user.id and art.id =: id这种方式返回的是Object[], Object[0]:article, Object[1]:user.

2.分页query.setFirstResult, query.setMaxResults.

查询记录总数query.iterate("select count(*) from Person").next()

3.批量更新query.executeUpdate()可能造成二级缓存有实效数据。

*Criteria

1.排序Criteria.addOrder(Order.desc(propertyName));

2.关联查询criteria.setFetchMode("propertyName",FetchMode.SELECT)与映射文件中关联关系的fetch作用一致。

3.投影Projections.rowCount(), max(propertyName), avg, groupProperty...

4.分页Projections.rowCount(), criteria.setFirstResult(), criteria.setMaxResults()

5.DetachedCriteria可在session外创建(在其他层创建比如在Service中创建)然后用getExecutableCriteria(session)方法创建Criteria对象来完成查询。

6.Example查询,Example.create(obj);criteria.add(example).

转自:http://www.java63.com/hibernate/hql_criteria_search.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: