public List execureQuery(String hql, Object[] param, int start, int pageSize) {
List ret = null;
try {
SQLQuery query = this.getSession().createSQLQuery(hql);
int len = param.length;
for (int i = 0; i < len; i++) {
query.setParameter(i, param);
}
query.setFirstResult(start);
query.setMaxResults(pageSize);
ret = query.list();
} catch (RuntimeException re) {
log.error("HistoryLocationDAOImpl execureQuery failed", re);
throw re;
}
return ret;
}
   public void testHql() {
HistoryLocationDAOImpl dao = new HistoryLocationDAOImpl();
List paramList = new ArrayList();
String a = "";
String b = "";
String c = "";
StringBuffer sb = new StringBuffer();
sb.append(" select * from stafferinfo where 1=1 ");
if (null != a && !"".equals(a)) {
sb.append(" and staffergender= ? ");
paramList.add(a);
}
if (null != b && !"".equals(b)) {
sb.append(" and groupid= ? ");
paramList.add(b);
}
if (null != c && !"".equals(c)) {
sb.append(" and departmentid= ? ");
paramList.add(c);
}
Object[] obj = paramList.toArray();
dao.execureQuery(sb.toString(), obj, 1, 5); }
各位的做法呢?

解决方案 »

  1.   

    execureQuery
    你这个方法名是不是写错了?
      

  2.   

    List list=query.list();
    for(Object o:list){
    Object[] oo=(Object[])o;
    }
      

  3.   

    看我的博客,
     由将SQL查询结果转化为pojo的想到的
    http://blog.csdn.net/warison2008/archive/2009/10/26/4728590.aspx
      

  4.   

    将参数转换为OBJECT[]数组是可以的 只是希望你在调用方法的时候不会太累public List execureQuery(String hql,int start, int pageSize,Object ...param)