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
分享到:
相关推荐
SessionFactory是从Hibernate的配置文件中读取数据库连接信息并创建的,而HibernateTransactionManager则负责处理与Hibernate相关的事务。 ```xml <bean id="sessionFactory" class="org.springframework.orm....
**Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...
接下来,我们会在`applicationContext.xml`中配置数据源,这是Spring与Hibernate集成的基础。数据源(`dataSource`)通常使用Apache Commons DBCP库,因为它提供了连接池功能,能有效管理数据库连接,提高性能。配置...
标签再次确认了主题是关于“spring-hibernate 4个版本”,意味着我们将讨论的是Spring与Hibernate集成的不同迭代。 压缩包子文件的文件名称列表提供了实际的版本信息: 1. spring-hibernate3-2.0-m2.jar:这是...
最后,添加Hibernate支持时,选择Hibernate 3.1核心库,并关联已有的Spring配置文件,设置SessionFactory Id和Bean Id。 数据库部分,我们使用MySQL,并在Hibernate的支持下进行反向工程,生成与数据库表对应的POJO...
- Spring与Hibernate集成,通常使用Spring的HibernateTemplate或HibernateDaoSupport,提供事务管理和数据访问抽象,使得代码更简洁,事务控制更方便。 - Spring与Struts2集成,Spring可以作为Struts2的Action的...
在本文中,我们将深入探讨如何将Spring Boot与Hibernate集成,并使用Druid作为数据库连接池。首先,我们需要理解这三个核心组件: 1. **Spring Boot**: 是一个由Pivotal团队提供的开源框架,它简化了创建独立的、...
整合SSH涉及到的主要配置文件有`struts2-spring-plugin.xml`、`spring-context.xml`以及Hibernate的相关配置文件(如`hibernate.cfg.xml`)。`struts2-spring-plugin.xml`配置Struts2与Spring的集成,确保Action类由...
2. `src/main/resources`:存放配置文件,如Spring的`applicationContext.xml`和Hibernate的`hibernate.cfg.xml`。 3. `WEB-INF`:Web应用的特定目录,包含`web.xml`。 **步骤2:配置Spring** 在`...
这篇关于"Spring和Hibernate集成Demo"的内容将深入探讨这两者如何协同工作,以及如何构建一个集成的小型项目。 **Spring框架** Spring的核心是依赖注入(Dependency Injection,DI),它允许开发者通过配置文件或...
整合Spring和Hibernate,通常需要在Spring配置文件中定义DataSource、SessionFactory和TransactionManager,然后通过@Autowired注解将它们注入到需要使用的地方。同时,可以利用Spring的HibernateTemplate或...
在压缩包子文件的文件名称列表中,我们看到了“sping与Ibatis以及hibernate集成配置.doc”,这可能是一个详细的文档,包含了文字说明和可能的配置截图,帮助读者理解每个步骤。"TestSpringJDBC"可能是Spring对JDBC的...
Spring通过`LocalSessionFactoryBean`来创建SessionFactory,它会读取Hibernate的配置文件(如hibernate.cfg.xml),并根据其中的设置创建SessionFactory实例。同时,配置数据源是必不可少的,因为它是连接到数据库...
总之,"基于IDEA的SSH项目之五:集成Hibernate----lib包"这一环节主要是关于如何在IDEA中设置Hibernate依赖,配置相关文件,并与其他SSH组件协同工作,以实现高效的数据库操作。这个过程对于理解和实践Java Web开发...
集成Struts2、Spring和Hibernate时,需要注意配置文件的正确设置,包括Action配置、Spring Bean的定义、Hibernate的数据库连接和实体映射。同时,理解这三个框架的工作原理和相互作用,对于解决问题和优化代码至关...
3. **配置SessionFactory**:Hibernate的`SessionFactory`是数据访问的核心,需要在Spring的配置文件中进行配置。通常会使用`LocalSessionFactoryBean`并提供数据库连接信息,如URL、用户名、密码等。 4. **使用...
还需要配置相应的XML配置文件,如Spring的`beans.xml`,Hibernate的`hibernate.cfg.xml`,以及Struts的`struts.xml`,来定义bean、数据源、事务管理和Action映射等。 总结来说,"spring-hibernate-struts lib"这个...
《Spring与Hibernate集成详解》 在Java开发领域,Spring框架和Hibernate ORM工具是两个非常重要的组件,它们分别处理了应用程序的依赖注入(DI)和对象关系映射(ORM)。Spring作为一个全面的轻量级框架,提供了...
在Webwork+Spring+Hibernate集成中,Spring通常作为整体架构的胶水,负责各组件的连接和协调。它可以管理Webwork的Action,通过依赖注入提供所需的Service和DAO。同时,Spring可以配置Hibernate SessionFactory,...
【Spring与Hibernate、Maven和Transaction的整合】 在现代Java Web开发中,Spring框架、Hibernate持久化工具和Maven构建工具是不可或缺的部分。Spring提供了强大的依赖注入和面向切面编程能力,Hibernate则简化了...