我们整合Spring与Hibernate也不例外,就是因为Spring为Hibernate增加了以下内容:
1.Spring为Hibernate的session提供了有效、容易和安全的控制。
2.Spring控制Hibernate的SessionFactory,JDBC DataSources及其它相关资源。
3.Spring提供了完整的事务管理。
4.Spring对异常处理进行了封装。
Spring与Hibernate的集成先要确定配置文件的配置方式,然后再根据配置方式决定编写实现类。
配置文件方面,主要是需要在applicationContext-commons.xml中配置sessionFactory,事务管理器和事务(还需要提供applicationContext-beans.xml来注册各个类,见文件最后)。
由于Spring对Hibernate提供了多种支持,所以它们各自就会有多种配置方式,下面就来分别讲解一下具体的配置方法。
1.sessionFactory的两种配置方式
由于Spring对Hibernate的SessionFactory,JDBC DataSources及其它相关资源进行了控制,所以可以不使用hibernate.cfg.xml,于是配置sessionFactory的两种方式诞生了:使用hibernate.cfg.xml和不使用hibernate.cfg.xml文件。
1)使用hibernate.cfg.xml
这种方法是比较常见的方法,就是我们编写一个hibernate.cfg.xml和一个applicationContext.xml文件。
我们先来看hibernate.cfg.xml:
接着我们来看applicationContext.xml的配置:
2)不使用hibernate.cfg.xml
由于spring对jdbcdatasource进行了支持,所以这种方式就相当于把hibernate.cfg.xml中的内容放到了applicationContext.xml中。
注意:使用这种方法要先引入两个jar包:commons-dbcp.jar和commons-pool.jar(这两个jar包就是spring对jdbc的支持)。
下面就来看一下applicationContext.xml的代码: