hibernate的帮助文档搜索: 迭代式获取结果(Iterating results)
public int countObjectsByHQL(final String HQLStr, final Object[] parmaters) throws DaoException { //log.info("数据层:执行HQL语句进行数据库查询,获得查询结果对象集合 countObjectsByHQL(String["+HQLStr+"], Object[] ["+parmaters+"])"); try { Object num = getHibernateTemplate().execute( new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(HQLStr); log.info("session="+session); log.info("session="+session.connection());session.connection(); if (parmaters != null && parmaters.length > 0) { for (int i = 0; i < parmaters.length; i++) { query.setParameter(i, parmaters[i]); } } return query.iterate().next(); } }); return Integer.valueOf(num.toString()); } catch (Exception e) { throw new DaoException(DaoException.ERRORCODE_QUERY, e); } }
query.iterate().next(); 返回的是值。