spring对hibernate整合的相当完美,并且spring对hibernate配置文件hibernate.cfg.xml也做了整合,在spring中利用LocalSessionFactoryBean就可以把hibernate.cfg.xml文件的内容整合到spring的配置文件中,这确实相当好,减少了配置文件。其实,LocalSessionFactoryBean最吸引我的原因是mappingLocations属性,这是一个用来配置hibernate映射文件的属性,这个属性的好处是我可以使用通配符,简单一行就可以配置整个项目的映射文件,比如:
<property name="mappingLocations">
<list>
<value>
classpath:/com/company/callcenter/domain/**/maps/*.hbm.xml
</value>
</list>
</property>
但是,加入由于某种原因,我需要使用独立hibernate.cfg.xml文件,但是又想保留spring的简单配置映射文件的方法,怎么办呢?
我想要单独列出hibernate.cfg.xml文件的原因是:
1.我使用jboss提供hiberante插件,那就需要一个独立hibernate.cfg.xml文件,因为这个插件的功能比较适用:HQL Editor、Criteria Editor、Code Genration等
2.插件的编辑器对hibernate.cfg.xml提供hibernate属性提示功能,很好用。在spring中,spring的DTD文件列出hibernate属性,这是因为hibernate属性名称可能会变化,而spring团队无法控制hibernate团队对hibernate配置属性名称的变化
基于以上需要,最后我结合了两种配置文件的优点,很好的解决了这个问题
关键点:
1.使用LocalSessionFactoryBean的mappingLocations配置映射文件
2.使用configLocation属性配置hibernate.cfg.xml文件
3.在hibernate.cfg.xml文件中配置除了数据库链接的属性,以及其他可以有spring代替的属性,比如事务
下面是两个文件的部分示例代码
applicationContext.xml
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingLocations">
<list>
<value>
classpath:/com/company/project/domain/**/maps/*.hbm.xml
</value>
</list>
</property>
<property name="configLocation">
<value>/WEB-INF/spring-config/hibernate.cfg.xml</value>
</property>
<property name="dataSource">
<ref local="dataSource" />
</property>
</bean>
hibernate.cfg.xml
<hibernate-configuration>
<session-factory name="CallCenter">
<property name="hibernate.dialect">
org.hibernate.dialect.Oracle9Dialect
</property>
<property name="hibernate.connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>
<property name="hibernate.connection.url">
jdbc:oracle:oci:@test
</property>
<property name="hibernate.connection.username">
test
</property>
<property name="hibernate.connection.password">test</property>
<property name="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider
</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.max_fetch_depth">3</property>
<property name="hibernate.bytecode.use_reflection_optimizer">
true
</property>
<property name="hibernate.query.substitutions">
true 1, false 0, yes 'Y', no 'N'
</property>
</session-factory>
</hibernate-configuration>
上述配置也有一点小小的缺憾,那就两个地方配置了数据源,系统真正用到的spring配置的数据源,hibernate.cfg.xml中的数据源是留给hibernate插件使用的
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wangjian5748/archive/2007/04/26/1585948.aspx
分享到:
相关推荐
spring整合struts2与hibernate核心配置文件
随着struts的安全问题的暴露,原由Struts2+spring+hibernate构成的SSH2已经被越来越多的开发者所弃用,反而,由Spring+SpringMVC+Hibernate构成的SSH框架越来越受欢迎!这里提供了一个案例代码,希望对大家搭建环境...
struts2-hibernate-spring 集成jar包,但在使用时要注意struts2的配置文件中的<package> 标签中不要配置 “namespace” 属性 且在页面中访问 Action 的请求要带“.action” 跑。
spring+springMVC+hibernate集成,包括配置文件applicationContext.xml、web.xml、springMVC-servlet.xml
首先添加一个WEB工程 然后依次添加Struts框架,spring框架,...在添加Hibernate时注意选择现有的Spring配置文件,Hibernate的配置文件集成在Spring的配置文件中 最后在映射表的时候选择Spring的DAO作为IoC的实现
这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar及...
primefaces-spring-hibernate-portlet 关联 此示例用于集成框架 环境 创建数据库的脚本可以在:src/main/webapp/WEB-INF/create.sql 它是一个mysql数据库,它的配置在文件中完成:src/main/webapp/WEB-INF/...
10.struts2-spring-plugin-2.1.8.jar(struts2与spring集成时使用的) Spring需要的jar包: 1.spring.jar(里面含有spring的所有核心类库) 2.commons-logging-1.1.1.jar(ASF出品的日志包,struts2 2、spring、...
下面显示了使用Web配置文件启动服务器的命令行: For Linux: JBOSS_HOME/bin/standalone.sh For Windows: JBOSS_HOME\bin\standalone.bat3.构建和部署快速入门注意:以下构建命令假定您已经配置了Maven用户设置。 ...
两种配置:oracle mysql,切换数据库只要把SessionFactory的配置文件改成对应就可以了 c3p0配置:mysql调试通过,oracle由于存在问题,未配置 spring配置式事务管理(jdk动态代理,每个service必须对应一个接口) ...
本人自己动手集成的struts+spring+hibernate 网站后台管理系统,希望对刚学习struts的朋友带来一定的帮助,这是我上传此文件的最大愿望,里面有三个框架所需要的jar包和所有的配置文件,只要下载即可运行,不需要...
使用maven集成spring,struts2,hibernate三大框架,mysql数据库 密码账号 都在配置文件里 不懂可以联系我qq:1193298924
本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...
spring-beans-4.0.0.RELEASE.jar 所有应用都要用到的,它包含访问配置文件、创建和管理bean spring-context-4.0.0.RELEASE.jar Spring 核心提供了大量扩展 spring-core-4.0.0.RELEASE.jar Spring 框架基本的核心工具...
(2) spring-beans.jar 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,...
该demo集成了spring+springmvc+hibernate框架,里面的dao、service、entity均采用注解形式,容易开发,另外该demo中dao采用注解形式,将所有实体dao需要用到的通用方法如insert,update,delete,分页查询等均采用...
你还可以查看 有详细极介绍。我从第一天中午到第二天中午才搞好,早网上查到配置方法我试了试都不行,一直不知道错的什么地方了。 该文件不需要 把dll文件放入 system32 目录下面,完全可迁移。
Spring MVC是Java的web框架,能够将Hibernate集成进去,完成数据的CRUD。Hibernate使用方便,配置响应的XML文件即可。由于spring3.x,基于asm的某些特征,而这些asm还没有用jdk8编译,所以采用Spring 3+JDK8就会报错,...
全套的hibernatePPt,hibernate集成Struts2 hibernate集成spring hibernate的HQL注释的方式配置文件 hibernate状态 主键映射
maven管理项目+springmvc+spring+hibernate+freemarker 集成框架。其中注解格式清晰,hibernate进行了代码封装,对开发效率有了提高,对异常进行了封装。freemarker也有优化,参考common包下。对日期工具类有各种...