Spring与Hibernate整合的相关问题和解决方案(整合方案一:dataSource交给Spring来管理)

整合的关键点:

  1. Hibernate的SessionFactory对象交给Spring去创建;
  2. Hibernate的事务交给Spring的声明式事务管理;(Hibernate的操作是基于事务的操作);
整合步骤:

  1.   配置数据源(采用C3P0连接池)

       







       

  2.将SessionFactory的创建交给Spring来完成(SessionFactory的创建时由config.configure().buildSessionFactory()方法来获取的,故需要对hibernate.cfg.xml进行配置加载,而不是采用代码的形式进行加载)究其根源还是要获取数据库的连接来对数据库进行操作,所以要配置dataSoure属性的值;


                     class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

                 

     
     

   

      注:如果缺少datasource属性的配置,会产生如下错误:

Spring与Hibernate整合的相关问题和解决方案(整合方案一:dataSource交给Spring来管理)_第1张图片

                          

 3:配置事务管理器类、事务增强(拦截到方法后如何管理事务)、配置AOP管理

       

     

    注:用JDBC技术连接时,事务管理器类为DataSourceTransactionManager;


       
       
       

       

           

     
     
     
     
     

     

     
     
     
     
     
     



注意事项:在Spring和Hibernate整合时,session的获取建议用getCurrentSession();且不用在Hibernate.cfg.xml中进行配置以线程的方式获取session:thread 否则会报错。

Spring与Hibernate整合的相关问题和解决方案(整合方案一:dataSource交给Spring来管理)_第2张图片


你可能感兴趣的:(Spring与Hibernate整合的相关问题和解决方案(整合方案一:dataSource交给Spring来管理))