`
wutheringsea
  • 浏览: 263380 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring笔记8---Hibernate的集成

阅读更多

1. HibernateTemplate模板类

 

*装载单个实体的辅助方法。

包括了get(...),load(...),loadAll(...),refresh(...),evict(...),initialize(...),enableFliter(...)等方法,这些方法都会将具体操作委派给HiberanteCallback接口的doInHibernate()回调方法,进而让Session与数据库进行交互。

 

*存储单个实体的辅助方法。

包括了lock,save,update,saveOrUpdate,saveOrUpdateAll,replicate,persist,merge,delete,flush,clear等方法。

 

*基于HQL的查找方法

包括了find,findByNamedParam,findByValueBean等方法

 

*基于命名查询的查找方法

包括了findByNamedQuery,findByNamedQueryAndNamedParam,findByNamedQueryAndValueBean等方法

 

*基于分离式criteria风格API的查找方法的使用。

所谓分离式criteria,即在Session外部构建好criteria对象,随后将它同任意活动的session关联,从而执行CRUD操作。有方法如下:findByCriteria,findByExample。

 

*基于迭代器和批量处理的实用方法

包括了 iterate,closeIterator,bulkUpdate等方法。

 

 

2. 关于SessionFactory.getCurrentSession()方法的使用

其中有几个细节如下:

*SessionFactory.getCurrentSession()返回的Session对象是当前活动事务所征集的Session;

 

*Spring内置的DAO抽象提供了DataAccessException异常体系,适合于Spring提供的各种DAO层技术,如JDBC,Hibernate,JPA等。

 

*@Repository是应用于类的注解,其直接应用到DAO对象本身。

 

 

3. LocalSessionFactoryBean。

 

LocalSessionFactoryBean集结了Hibernate SessionFactory相关的所有元数据信息。其继承链如下:

AbstractSessionFactoryBean<--LocalSessionFactoryBean<--AnnotationSessionFactoryBean

 

Spring xml中配置LocalSessionFactoryBean的hibernateProperties属性,其功效同hibernate.properties和hibernate.cfg.xml差不多,且会优先读取,会覆盖configLocation,configLocations属性制定的配置信息。

除此之外,还可以启用mappingLocations,mappingJarLocations,mappingDirectoryLocations,mappingResources等属性,这些属性能通过查找Jar包,目录,类路径获得映射信息,或直接制定具体映射信息。

 

 

 

 

4. 基于Hibernate的Lob处理。

Hibernate提供了如BlobStringType,BlobSerializableType,BlobByteArrayType用于处理Blob字段的org.hibernate.usertype.UserType,这三个类型分别能与java中的String,Serializable,byte[]的相互转换。ClobStringType则用于处理Clob字段,实现了与java String的转换。

 

具体Lob处理实例可见Spring官方的imagedb工程实例。

 

 

5.混合使用JDBC和Hibernate。

当调用Session接口的saveOrUpdate,update等CRUD操作时,这些操作对应的SQL语句可能不会立即同步到RDBMS中,可以采用Session的刷新策略,即FlushMode的具体取值。

 

使用HibernateTemplate和SessionFactory.getCurrentSession()的差异需分场合具体分析。

 

 

分享到:
评论

相关推荐

    spring-framework-2.5-rc2-with-dependencies\spring-framework-2.5-rc2\spring-framework-2.5-rc2docs

    此外,对JDBC、Hibernate、JPA等多种持久层技术的集成,使Spring成为了数据库操作的强大后盾。 除此之外,Spring 2.5还强化了测试支持,包括模拟对象(Mock Objects)和单元测试框架的集成,使得测试过程更加便捷。...

    MLDN_J2EE框架_笔记--精华---(包括jsp struts hibernate spring).rar

    《MLDN_J2EE框架_笔记--精华---(包括jsp struts hibernate spring)》这份压缩包文件聚焦于Java企业级开发中的核心技术,涵盖了JSP、Struts、Hibernate和Spring四大框架,它们是构建现代J2EE应用的基础。以下是这些...

    记录-笔记-用ANT构建-struts-spring-hibernate

    标题 "记录-笔记-用ANT构建-struts-spring-hibernate" 暗示了这篇笔记主要涉及使用Apache Ant工具来构建一个整合了Struts、Spring和Hibernate的Java Web项目。Struts是MVC(模型-视图-控制器)框架,Spring是全面的...

    spring-data-jpa hibernate

    - **Integration with Spring**:与Spring的其他模块如Spring MVC无缝集成,提供事务管理等服务。 2. **Hibernate**:Hibernate是JPA的一个实现,它是一个对象关系映射(ORM)框架。Hibernate允许开发者用面向对象...

    spring-framework-5.2.3.RELEASE.rar

    Spring 5.2.3.RELEASE是该框架的一个稳定版本,包含了对Java 8及更高版本的支持,并且优化了性能和易用性。 在"spring-framework-5.2.3.RELEASE.rar"压缩包中,你将找到以下几个关键部分: 1. **核心容器**:这是...

    Spring学习笔记-cqupt

    - **框架集成**:Spring 可以与众多其他框架无缝集成,如 MyBatis、Hibernate 等。 3. **Spring 的组成** Spring 框架由多个模块组成,包括核心容器(Core Container)、数据访问/集成(Data Access/Integration...

    Struts+spring+hibernate学习笔记! - Struts原理与实践 - JavaEye知识库.files

    此外,Spring 还集成了 Hibernate,使得数据库操作更加便捷。 Hibernate 是一个 ORM 解决方案,它允许开发者使用 Java 对象来操作数据库,而无需编写大量的 SQL 语句。Hibernate 通过实体类(Entity)、持久化属性...

    Spring 和hibernate集成自学笔记

    ### Spring与Hibernate集成知识点详解 #### 一、Spring与Hibernate集成概述 在现代软件开发中,Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)能力成为Java领域最受欢迎的企业级应用开发框架之一。而...

    spring-analysis-master.zip

    2. ORM集成:Spring支持多种ORM框架,如Hibernate、MyBatis等,提供了统一的数据访问抽象层,使得更换持久化策略变得简单。 四、Spring事务管理 1. 编程式事务管理:通过PlatformTransactionManager接口进行事务...

    spring hibernate 事务管理学习笔记(二)

    在本篇“Spring Hibernate 事务管理学习笔记(二)”中,我们将深入探讨Spring框架与Hibernate集成时如何实现高效、安全的事务管理。这是一篇关于源码分析和技术工具使用的文章,适合对Java开发和数据库操作有基础...

    flex3读书笔记----flex整合hibernate

    6. **MyEclipse**: MyEclipse 是一个基于Eclipse的集成开发环境,专门用于Java和Web开发,包括对J2EE、Spring、Struts和Hibernate等框架的支持。在搭建环境中,MyEclipse 6.5.0 用于创建Web项目和管理服务器。 7. *...

    官方原版spring-framework-5.0.9.RELEASE.zip

    在这个版本中,Spring 提供了对最新Java特性的支持,以及对其他流行技术的集成,如Spring Boot、Hibernate、JPA等。 首先,Spring Framework 的核心特性包括依赖注入(Dependency Injection,DI),这是其最著名的...

    Spring-data-jpa 学习笔记.docx

    ### Spring-data-jpa 学习笔记 #### 一、spring-data-jpa的简单介绍 Spring Data JPA 是 Spring Data 的一部分,它简化了基于 Java Persistence API (JPA) 的数据访问层开发工作。Spring Data 旨在减少数据访问层...

    Spring笔记.doc

    1. 轻量级:Spring 的核心容器非常小巧,不依赖于特定的服务器或者库,这使得它易于集成到现有的系统中。 2. 无植入:Spring 不强制使用特定的编程模型,可以自由地选择编程方式,比如基于接口或基于注解。 3. 框架...

    Struts2笔记+Hibernate3.6笔记+Spring3笔记

    SSH是Java开发中广泛使用的三大框架——Struts2、Hibernate和Spring的缩写。这三大框架结合使用,能够构建高效、灵活的企业级Web应用程序。现在,让我们深入探讨这些框架的知识点。 **Struts2笔记** Struts2是MVC...

    Spring学习笔记+学习源码.zip

    8. **Spring Security**:这是一个强大的安全框架,提供了认证和授权功能,可以保护Web应用程序免受攻击。 9. **Spring Integration**:提供了异步处理、消息驱动和企业服务总线(ESB)等集成解决方案。 10. **...

    Struts2-Spring-Hibernate

    Spring的IoC和AOP配置,以及与Hibernate的集成;Hibernate的实体类、映射文件和基本操作。此外,还会涉及如何设置项目结构、配置文件的编写,以及实际的CRUD操作示例。 在实际项目中,SSH组合提供了良好的分层架构...

    spring-note spring 读书笔记

    这份"spring-note spring 读书笔记"深入探讨了Spring的核心概念以及如何与其他流行技术如JDBC、Hibernate、Struts和事务管理进行集成。 1. **Spring依赖注入(IOC)**: Spring的IOC容器是其核心,负责创建对象并...

    Spring Boot核心技术-笔记-pdf版.pdf

    **Spring Boot核心技术详解** Spring Boot是由Pivotal团队提供的全新框架,其设计目标是为了简化Spring应用的...希望这份学习笔记能帮助你深入理解和掌握Spring Boot的精髓,祝你在Spring Boot的学习之路上一帆风顺!

    Spring+Hibernate笔记

    【Spring+Hibernate笔记】这篇文档主要涵盖了在Web开发中使用Spring和Hibernate的基础知识。首先,我们从Spring的Hello World开始,了解如何配置JSP运行环境。 1.1. 配置JSP运行环境是开发Web应用的第一步。这包括...

Global site tag (gtag.js) - Google Analytics