最近整合SSH,用hibernateTemplate感觉问题很多hibernateTemplate如何分页?有没有方便获取记录总数count的方法?hibernateTemplate有没有查询结束后返回object的方法?比如查询某一个用户,某一条记录,感觉用List麻烦

解决方案 »

  1.   

    hibernateTemplate分页都要要自己写的。或使用回调函数实现:例如@SuppressWarnings("unchecked")
    public Collection<Pricing> findByCondition(String cond, int currentPage) {
    final String str = cond;
    final int startRow = (currentPage - 1) * PageParameter.CNT_EACH_PAGE;
    return this.getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session)
    throws HibernateException, SQLException {
    Query query = session.createQuery("from Pricing p where 1=1 "
    + str);
    query.setFirstResult(startRow);
    query.setMaxResults(PageParameter.CNT_EACH_PAGE);
    return query.list();
    } });
    }
    至于你说的查询要单独返回一个object,好像没有。都是返回的list(0)取得。通用呀
      

  2.   

    有返回单个对象的,返回类型是object
    session.createQuery("HQL").uniqueResult();
      

  3.   

    2楼那个貌似也要回调用回调不如就用List了,回调更麻烦