本文:主要讲述没有实体类对应表的查询。本文词汇:entity 指的是有对应表的bean 。 vo 只没有表对应的bean。
一、很多时候我们常常遇见,一个复杂的查询语句查询出来的东西用Objec[Object[]]进行装在取值的时候十分麻烦还不好返回页面。这种情况提供一下几个解决办法
1,hibernate提供了类似mybatis 自动注入到vo实体中
dao.java
String hql = "select cj \"cj\" ,rq \"rq\",sl \"sl\",hj \"hj\",pj \"pj\" from v_order where 1=1 ";
List<ReportVo> list = getSession().createSQLQuery(hql).
addScalar("sl",Hibernate.LONG).
addScalar("cj", Hibernate.STRING).
addScalar("rq", Hibernate.STRING).
addScalar("hj", Hibernate.DOUBLE).
addScalar("pj", Hibernate.DOUBLE).
setResultTransformer(
Transformers.aliasToBean(ReportVo.class))
.setFirstResult((pageNo-1)*pageSize).setMaxResults(pageSize)
.list();
reportVo.java