public List<HouseUser> findUsers(final int page, final int size) {
return (List<HouseUser>) this.getHibernateTemplate().execute(new HibernateCallback<List<HouseUser>>() {
@Override
public List<HouseUser> doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery("from HouseUser");
query.setFirstResult((page-1)*size);
query.setMaxResults(size);
return query.list();
}
});
}
return (List<HouseUser>) this.getHibernateTemplate().execute(new HibernateCallback<List<HouseUser>>() {
@Override
public List<HouseUser> doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery("from HouseUser");
query.setFirstResult((page-1)*size);
query.setMaxResults(size);
return query.list();
}
});
}
callback为接口,需要实现内部接口类,并且局部变量必须定义为final,在内部类中。

本文介绍了如何利用Hibernate的回调机制实现数据库查询的分页功能。通过定义并实现Hibernate的callback接口,确保局部变量为final,可以在内部类中进行有效操作,从而达到分页查询的目的。
5981

被折叠的 条评论
为什么被折叠?



