一.spring整合Hibernate整合什么?
1.由IOC容器来管理Hibernate的sessionFactory
2.加入spring
(1)导入jar包
(2)添加spring的配置文件
1.由IOC容器来管理Hibernate的sessionFactory
2.让Hibernate使用上spring的声明式事务
二.整合步骤:
1.加入Hibernate
(1)导入jar包
(2)添加Hibernate的配置文件
1).数据源配置到IOC容器中,此处不需配置
2).关联的.hbm.xml在IOC容器中配置SessionFactory实例时进行配置
3).只需配置hibernate的基本属性:方言、sql显示及格式化、生成数据表的策略、二级缓存等
<hibernate-configuration>
<session-factory>
<!-- 配置hibernate的基本属性 -->
<!-- 1.数据源配置到IOC容器中,此处不需配置 -->
<!-- 2.关联的.hbm.xml在IOC容器中配置SessionFactory实例时进行配置 -->
<!-- 只需配置hibernate的基本属性:方言、sql显示及格式化、生成数据表的策略、二级缓存等 -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<!-- 配置hibernate二级缓存相关 -->
</session-factory>
</hibernate-configuration>(3)编写持久化类对应的.hbm.xml文件2.加入spring
(1)导入jar包
(2)添加spring的配置文件
<!-- 1.配置数据源 -->
<!-- 导入资源文件 -->
<util:properties id="config" location="classpath:config.properties"></util:properties>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="#{config.username}"></property>
<property name="password" value="#{config.password}"></property>
<property name="driverClass" value="#{config.driver}"></property>
<property name="jdbcUrl" value="#{config.url}"></property>
<property name="maxPoolSize" value="#{config.maxTotal}"></property>
<property name="initialPoolSize" value="#{config.initialSize}"></property>
</bean>
<!-- 2.配置hibernate的SessionFactory实例,通过spring提供的LocalSessionFactory进行配置 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 配置数据源 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 配置hibernate配置文件 -->
<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
<!-- 配置hibernate映射文件,允许使用通配符 -->
<property name="mappingLocations" value="entity/*.hbm.xml"></property>
</bean>
<!-- 3.配置spring的声明式事务 -->
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 配置事务属性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true"/>
tx:method name="*"/>
</tx:attributes>
</tx:advice>
<!-- 配置事务切点,并把事务切点和事务属性关联 -->
<aop:config>
<aop:pointcut expression="excution(* springHibernate.service.*.*(..))" id="txPointcut"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
</aop:config>
本文介绍如何将Spring框架与Hibernate整合,实现使用Spring管理Hibernate的SessionFactory并应用Spring的声明式事务。主要内容包括添加必要的Jar包、配置数据源、配置SessionFactory、设置事务管理器以及配置事务属性。

1967

被折叠的 条评论
为什么被折叠?



