一个方法功能是根据传入的hql语句返回符合条件的记录数。
方法一和方法二各有优劣,各位能说说区别吗?
方法一: List lis=new ArrayList();
//Session session = this.getSession();
//System.out.println("<<<<<.ppppppp"+session.isOpen());
System.out.println("<<<<<.ppppppp"+hql_count);
Query query =  this.getSession().createSQLQuery(hql_count).setResultTransformer(
Transformers.ALIAS_TO_ENTITY_MAP);
List list = query.list();
String  count = ((HashMap)list.get(0)).get("REGINO").toString();
int rowcount = Integer.parseInt(count);
System.out.println("rowcount>>>>>>>>>>>>>>>>>>>>>>>>"+rowcount);
//session.close();
    return rowcount;
}方法二
public int getRowcountByNativeSql(final String hql_count){
List list = getHibernateTemplate().executeFind(new HibernateCallback() {
 public Object doInHibernate(Session session)
 throws HibernateException, SQLException {
 Query query = session.createSQLQuery(hql_count).setResultTransformer(
Transformers.ALIAS_TO_ENTITY_MAP);;
 List list = query.list();
 return list;
 }
});
String  count = ((HashMap)list.get(0)).get("REGINO").toString();
int rowcount = Integer.parseInt(count);
return rowcount;}