手动为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]