在
hibernate和spring时总结的一些知识,以供将来查询和使用。
spring针对hibernate的整合做了许多的努力,当我们使用spring时,对hibernate的使用变得更加简单。
hibernate通过sessionFactory创建session,spring对hibernate进行了无缝的整合,无需自己
写代码实现通过Configuration.buildSessionFactory()来创建一个SessionFactory.较为流行的做法是在applicationContext中注册工厂bean为一个单例,然后程序通过依赖注入的方式引用SessionFactory的实现.配置SessionFactory也有多种方式实现。
一、dataSource方式
配置文件:
class="java" name="code">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://127.0.0.1:3306/test</value>
</property>
<property name="userName">
<value>root</value>
</property>
<property name="password">
<value>root</value>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<value>dataSource</value>
</property>
<property name="mappingResources">
<list>
<value>com/test/entity/test.hbm.xml</value>
</list>
</property>
</bean>
二、使用原系统的hibernate的配置文件
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classPath:cn/com/hibernate.cfg.xml</value>
</property>
</bean>
如果我们系统十分庞大的时候,实体的配置文件会逐渐增多,如果继续往配置文件里增加映射文件会使得配置文件十分庞大。这个时候使用mappingDirectoryLocations来配置程序中的一个路径,spring会加载此路径下所有的hbm文件
配置文件
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingDirectoryLocations">
<value>classPath:cn/com/entity</value>
</property>
</bean>
在整个java世界中实现相同的功能,有各种各样的实现方式,但是我们需要根据我们当时所处的环境,综合考虑各种实现的利弊,选择在当前环境下,较为合适的一种