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 />
對於我註釋這一段代碼,增長數據的話,這種操做是報錯的。