Spring对JDBC提供支持----对Hibernate集成支持
2007-11-29 15:46
471 查看
1).HibernateTemplate和 HibernateDaoSupport
HibernateTemplate充分利用了Spring IoC特性,从而实现对Hibernate资源的依赖注入.
它能够保证正确地打开和关闭Hibernate Session,并自动参与到事物中.而且是线程安全的并且可重用.
2).HibernateInteceptor拦截器.
操作方式是:直接将Hibernate API 代码嵌入在try/catch块中,并且在Spring配置文件中配置好拦截器.
<bean id = "hibernateInterceptor"
class="org.springframework.orm.hibernate.HibernateInterceptor">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
public List getinterests()throws DataAccessException{
List list = new ArrayList();
Session session = SessionFactoryUtils.getSession(getSessionFactory(),false);
List listinterests =null;
try{
listinterests = session.find("select * from Interests");
if(interests==null){
throw new Example1Exception("未找到兴趣列表");
}
catch(HibernateException he){
throw SessionFactoryUtils.convertHibernateAccessException(he);
}
HibernateInterceptor会在每次调用getInterests之前,准备好线程安全的session.
在每次调用getInterests之后,将session关闭掉.
注意:务必使用SessionFactoryUtils获得session,因为HibernateInterceptor,HibernateTemplate内部使用了SessionFactoryUtils.
但是,使用便利方面,HibernateTemplate更方便.
HibernateTemplate充分利用了Spring IoC特性,从而实现对Hibernate资源的依赖注入.
它能够保证正确地打开和关闭Hibernate Session,并自动参与到事物中.而且是线程安全的并且可重用.
2).HibernateInteceptor拦截器.
操作方式是:直接将Hibernate API 代码嵌入在try/catch块中,并且在Spring配置文件中配置好拦截器.
<bean id = "hibernateInterceptor"
class="org.springframework.orm.hibernate.HibernateInterceptor">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
public List getinterests()throws DataAccessException{
List list = new ArrayList();
Session session = SessionFactoryUtils.getSession(getSessionFactory(),false);
List listinterests =null;
try{
listinterests = session.find("select * from Interests");
if(interests==null){
throw new Example1Exception("未找到兴趣列表");
}
catch(HibernateException he){
throw SessionFactoryUtils.convertHibernateAccessException(he);
}
HibernateInterceptor会在每次调用getInterests之前,准备好线程安全的session.
在每次调用getInterests之后,将session关闭掉.
注意:务必使用SessionFactoryUtils获得session,因为HibernateInterceptor,HibernateTemplate内部使用了SessionFactoryUtils.
但是,使用便利方面,HibernateTemplate更方便.
相关文章推荐
- 【第七章】 对JDBC的支持 之 7.4 Spring提供的其它帮助 ——跟我学spring3
- Spring对JDBC提供支持----JdbcTemplate
- 【第七章】 对JDBC的支持 之 7.4 Spring提供的其它帮助 ——跟我学spring3
- 【第七章】 对JDBC的支持 之 7.4 Spring提供的其它帮助 ——跟我学spring3
- spring2.5整合hibernate3.3的泛型Dao并加入spring jdbc的支持
- 【第八章】 对ORM的支持 之 8.2 集成Hibernate3 ——跟我学spring3
- spring2.5整合hibernate3.3的泛型Dao并加入spring jdbc的支持
- 8.7.1: Spring整合Hibernate---Spring提供的DAO支持
- 跟我学Spring3(8.2):对ORM的支持之集成Hibernate3
- 【第七章】 对JDBC的支持 之 7.5 集成Spring JDBC及最佳实践 ——跟我学spring3
- SSH支持Annotation集成 (Struts2 Spring3 Hibernate3)
- 开涛spring3(7.4) - 对JDBC的支持 之 7.4 Spring提供的其它帮助
- 【第七章】 对JDBC的支持 之 7.5 集成Spring JDBC及最佳实践 ——跟我学spring3
- spring2.5整合hibernate3.3的泛型Dao并加入spring jdbc的支持
- 【第七章】 对JDBC的支持 之 7.4 Spring提供的其它帮助 ——跟我学spring3
- spring2.5整合hibernate3.3的泛型Dao并加入spring jdbc的支持
- springMVC+hibernate+jdbc+mybatis整合 支持全注解方式 支持全配置方式
- 【第七章】 对JDBC的支持 之 7.5 集成Spring JDBC及最佳实践 ——跟我学spring3
- 【第七章】 对JDBC的支持 之 7.4 Spring提供的其它帮助 ——跟我学spring3【私塾在线原创】
- Spring - Spring对JDBC和Hibernate的支持