Tin 发表于 2013-1-27 06:26:32

手动为HibernateDAO里面的DetachedCriteria的Projection擦屁股

无奈,寻找好的解决方法,把我现在擦屁股的现场记录下来。
我用GenericHibernateDAO,慢慢积累下来的,有这几个DetachedCriteria的方法:
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">public List findByDetachedCriteriaByPage(
        final DetachedCriteria detachedCriteria, final int pagesize,
        final int pageno) {
        return getHibernateTemplate()
                   .findByCriteria(detachedCriteria, pagesize * pageno, pagesize);
    }

int getCountByDetachedCriteria(
        final DetachedCriteria detachedCriteria) {
        Integer count = (Integer) getHibernateTemplate().execute(new HibernateCallback() {
                    public Object doInHibernate(Session session)
                        throws HibernateException {
                        Criteria criteria = detachedCriteria.getExecutableCriteria(session);

                        return criteria.setProjection(Projections.rowCount())
                                       .uniqueResult();
                    }
                }, true);

        detachedCriteria.setProjection(null);

        return count.intValue();
    }
页: [1]
查看完整版本: 手动为HibernateDAO里面的DetachedCriteria的Projection擦屁股