1). 有 IOC 容器来管理 Hibernate 的 SessionFactory
2). 让 Hibernate 使用上 Spring 的声明式事务 。(能够不用,若是采用SessionFactory.openSession()的方式能够不须要用,也能够用。可是若是采用sessionFactory.getCurrentSession()这种的话,必须采用,由于必须提交事务,可是我按这篇博客操做http://www.cnblogs.com/ylhssn/p/5181149.html,没有实现成功。)html
要额外引入的jar <!-- hibernate部分 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-hibernate3</artifactId> <version>2.0.8</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> |
<?xml version="1.0" encoding="UTF-8"?> <property name="hibernate.show_sql">true</property> <!--这个表不存在的话,就会建立表--> |
类与表对应关系的编写缓存
<?xml version="1.0"?> <hibernate-mapping> |
①. jar 包(略)
②. 加入 Spring 的配置文件url
(额外的spring配置:)
spring相关的配置以下:spa
<context:component-scan base-package="com.jeff"/>
<!-- 导入外部属性文件以下 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 配置C3P0链接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>.net
<!-- 配置 Hibernate 的 SessionFactory 实例:
经过 Spring 提供的 LocalSessionFactoryBean 进行配置 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 配置数据源属性 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 配置 hibernate 配置文件的位置及名称 -->
<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
<!-- 配置 hibernate 映射文件的位置及名称, 能够使用通配符 -->
<property name="mappingLocations"
value="classpath:mapper/*.hbm.xml"></property>
</bean>
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate"
scope="singleton">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 配置 Spring 的声明式事务,若是没有用到事务的话,能够不须要配置 -->
<!-- 1. 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<aop:aspectj-autoproxy />
对于我注释这一段代码,增长数据的话,这种操做是报错的。