使用 HibernateTemplate 实现分页查询 (HibernateCallback接口)
2008-09-07 11:25
543 查看
HibernateTemplate 只支持 .setMaxResults(int) 方法。
因此,做 Spring+Hibernate 分页处理要使用到一个接口 org.springframework.orm.hibernate3.HibernateCallback
来灵活操作数据库,该接口中有一个未实现的方法 Object doInHibernate (Session session),用以获得并利用 session 进行操作(自动创建、销毁)。
以下代码均参考了 使用 HibernateTemplate 实现分页查询 一文。
package springdao;
import hibernatedao.HibernateSessionFactory;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
ps.
也可以通过:
this.getSession();
this.getHibernateTemplate().getSessionFactory().openSession();
分别获取 session 进行 createQuery()等操作。
但是这种做法,需要自己去手动关闭session的。所以你需要配置openSessioninview,不推荐使用!
因此,做 Spring+Hibernate 分页处理要使用到一个接口 org.springframework.orm.hibernate3.HibernateCallback
来灵活操作数据库,该接口中有一个未实现的方法 Object doInHibernate (Session session),用以获得并利用 session 进行操作(自动创建、销毁)。
以下代码均参考了 使用 HibernateTemplate 实现分页查询 一文。
package springdao;
import hibernatedao.HibernateSessionFactory;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
ps.
也可以通过:
this.getSession();
this.getHibernateTemplate().getSessionFactory().openSession();
分别获取 session 进行 createQuery()等操作。
但是这种做法,需要自己去手动关闭session的。所以你需要配置openSessioninview,不推荐使用!
相关文章推荐
- 使用 HibernateTemplate 实现分页查询 (HibernateCallback接口)
- Hibernate使用原生的动态sql实现带条件的查询分页功能
- 用hibernate实现动态查询+分页的模板,另附struts2的标签在分页中的使用
- Hibernate里面如何使用DetachedCriteriaCriteria 实现多条件分页查询
- 使用Hibernate criteria进行分页查询时,如何实现一次查询取得总记录数和分页后结果集
- DaoImpl中实现查询分页-使用HibernateCallback来做更加方便
- 在Hibernate中使用多表查询的一种实现
- hibernate查询之Criteria实现分页方法(GROOVY语法)
- 实现Hibernate分页查询原理解读
- MySQL使用limit来实现分页查询
- 实现Hibernate分页查询原理解读
- Hibernate实现分页查询
- Hibernate 可以实现分页查询
- MVC中使用LINQ TO SQL实现多表查询及分页
- 使用 HibernateTemplate 实现分页查询 和其使用的策略模式
- 在Hibernate中使用多表查询的一种实现
- 使用 HibernateTemplate 实现分页查询
- Hibernate(十七)Hibernate实现分页和综合查询详解
- 【Lucene】使用EasyUI和JQuery配合Lucene实现数据的分页查询以及高亮显示
- SSH分页(Hibernate实现简单分页查询)