整合Hibernate
Posted Mr.He多多指教
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整合Hibernate相关的知识,希望对你有一定的参考价值。
Hibernate 3和Hibernate 4有一些区别,所以对于spring而已,集成Hibernate 3和集成Hibernate 4是不一样的
现在讲解如何集成Hibernate 3
1.导入Hibernate、Spring和log4j和dbcp的依赖包(log4j一定需要吗,等着去看孔浩的Hibernate视频,dbcp的依赖包是什么,等去看spring整合jdbc的视频)
1.1导入Spring的依赖包
1.2导入Log4j.jar的依赖包--->log4j-1.2.17.jar(还需要有log4j的配置文件log4j.properties)
1.3导入dbcp的依赖包
1.1导入Hibernate的依赖包
对于Hibernate的包,在Hibernate的rar压缩文件里面做了很好的区分,在lib文件夹里面有几个文件夹,jpa,optional,required 等等
(1)hibernate3.jar
(2)optional是可选的意思,required是必须的意思,所以我们把required文件夹里面的包都考进来,optional文件夹的包我们暂时就不需要了
(3)如果要支持Annotation,我们需要把jpa的包考进来
(4)slf4j-api.jar
2.创建beans.xml
2.1使用DBCP创建dataSource(和集成jdbc一样)
<bean id="dataSource" class="org.apache.common.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value=""/>
<property name="url" value=""/>
<property name="username" value=""/>
<property name="password" value=""/>
<!--配置连接池的初始值-->
<property name="initialSize" value="1"/>
<!--配置连接池的最大值-->
<property name="maxActive" value="100"/>
<!--最大空闲时,当经过一个高峰之后,连接池可以将一些不用的连接释放,一直减少到maxIdle为止-->
<property name="maxIdle" value="20"/>
<!--最小空闲时,当连接少于minIdle时,会自动申请一些连接-->
<property name="minIdle" value="1"/>
<property name="maxWait" value="1000"/>
</bean>
2.2创建Hibernate的SessionFactory,我们不需要Hibernate的配置文件了
<bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!--注入数据源-->
<property name="dataSource" ref="dataSource"/>
<!--设置Spring去哪个包中查找相应的实体类-->
<property name="packageToScan">
<value>org.zttc.itat.model</value>
</property>
<!--此处也可以用如下的方式,只不过这里是需要些一个xml-->
<property name="mappingResource">
<list>
<value>product.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.HSQLDialect
</value>
<!--此处也可以用另外一种方式-->
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbmddl.auto">update</prop>
<prop key="hibernate.format_sql">false</prop>
</props>
</property>
</bean>
<bean id="SessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <!--注入数据源--> <property name="dataSource" ref="dataSource"/> <!--设置Spring去哪个包中查找相应的实体类--> <property name="packageToScan"> <value>org.zttc.itat.model</value> </property> <!--此处也可以用如下的方式,只不过这里是需要些一个xml--> <property name="mappingResource"> <list> <value>product.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.HSQLDialect </value> <!--此处也可以用另外一种方式--> <props> <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbmddl.auto">update</prop> <prop key="hibernate.format_sql">false</prop> </props> </property> </bean>
3.为实体类添加Hibernate的Annotation或者hbm.xml文件
3.1在类上面添加@Entity @Table(name="")
3.2在主键上面添加@Id @GenerateValue
3.3多对一 @ManyToOne @JoinColumn(name="")
4.创建基于Hibernate的DAO
以上是关于整合Hibernate的主要内容,如果未能解决你的问题,请参考以下文章
具有运行时 pojos 的带有 Hibernate 的 OSGi 片段包
spring mvc+spring + hibernate 整合
免费下载全套最新013Spring Struts hibernate整合项目视频教程+教学资料+学习课件+源代码+软件开发工具
SpringMVC+Hibernate框架整合,构建一个简单项目