标签:
Hql查询语句可以自动封装到实体类中,但是sql语句需要用到方法才可以
1 @Override 2 @SuppressWarnings("unchecked") 3 public <T> Pagination<T> getPageResultObjectParamsBySql(Class<T> clazz, 4 String hql, int pageNo, int pageSize, 5 Object[] param) 6 throws RuntimeException { 7 List<T> list = null; 8 Pagination<T> page; 9 try { 10 Session session = getSession(); 11 log.info("[执行HQL:{}]", hql); 12 Query query = session.createSQLQuery(hql).addEntity(clazz);//重点在这块,把要转换的类加进去,返回数据的时候会自动转换成这个类的对象; 13 buildParam(query, param); 14 list = query.setFirstResult((pageNo - 1) * pageSize) 15 .setMaxResults(pageSize).list(); 16 page = new Pagination<T>(list, pageNo, pageSize); 17 } catch (RuntimeException e) { 18 log.error("[执行basedao#{}出错:{}]", "getPageResult", e.getMessage()); 19 throw e; 20 } 21 return page; 22 }
另外:.addScalar(columnAlias, type)这个方法,也可以在统计的时候发挥作用,暂时现在还不了解,以后待补充!
标签:
原文地址:http://www.cnblogs.com/Caoxdong/p/5411777.html