您的位置:首页 > 其它

学习申报系统所遇到的一些hibernate的问题

2013-11-28 10:35 295 查看


hibernate的分页查询

昨天在学习申报系统的业务层源码时,遇到如下一段代码,不明所以,查询后知道以下5行代码是 hibernate的查询分页
SQLQuery queryObj = session.createSQLQuery(hql.toString());
queryObj.setFirstResult((pageIndex) * pageSize);
queryObj.setMaxResults(pageSize);
queryObj.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List list = queryObj.list();


ResultTransformer?

Hibernate可以对原生sql 查询使用ResultTransformer。这会返回不受Hibernate管理的实体。如申报系统中的代码:
String sql = "SELECT DISTINCT AYEAR FROM APPYEAR WHERE AKIND=1 ORDER BY AYEAR";
SQLQuery sqlquery = session.createSQLQuery(sql.toString());
sqlquery.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List years = sqlquery.list();


Transformers.ALIAS_TO_ENTITY_MAP 把输出结果转换成map
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: