`
javachikuang
  • 浏览: 71157 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Spring对Hibernate的简化

阅读更多

Hibernate的持久层访问必须按如下步骤进行:

1)创建Configuration实例

2)创建SessionFactory实例

3)创建Session实例

4)打开事务

5)开始持久化访问

6)提交事务

7)如果遇到异常,回滚事务

8)关闭Session

HQL查询一节,已经采用HibernateUtils工具类封装部分过程。但依然不够简洁,需要通过代码显式地打开Session,显式地开始事务,然后关闭事务,关闭Session。而Hibernate提供更简单的方式操作持久层,无须显式地打开Session,无须在代码中执行任何的事务操作语句。

Hibernate的简化,还基于Spring对异常处理的简化。底层数据库异常几乎都不可恢复,强制处理底层数据库几乎没有任何意义,但传统JDBC数据库访问的异常都是checked异常,必须使用try...catch块处理。

Spring包装了Hibernate异常,转换到DataAccessException继承树内,所有DataAccessException全部是runtime异常,并不强制捕捉。归纳起来,SpringHibernate的简化主要有如下几个方面:

q      基于依赖注入的SessionFactory管理机制。SessionFactory是执行持久化操作的核心组件。传统Hibernate应用中,SessionFactory必须手动创建;通过依赖注入,代码无须关心SessionFactorySessionFactory的创建,维护由BeanFactory负责管理。

q      更优秀的Session管理机制。Spring提供“每事务一次Session”的机制,该机制能大大提高系统性能,而且SpringSession的管理是透明的,无须在代码中操作Session

q      统一的事务管理。无论是编程式事务,还是声明式事务,Spring都提供一致的编程模型,无须繁琐的开始事务,显式提交、回滚。如果使用声明式事务管理,事务管理逻辑与代码分离,事务可在全局事务和局部事务之间切换。

q      统一的异常处理机制。不再强制开发者在持久层捕捉异常,持久层异常被包装成DataAccessException异常的子类,开发者可以自己决定在合适的层处理异常,将底层数据库异常包装成业务异常。

q      HibernateTemplate支持类。HibernateTempate能完成大量Hibernate持久层操作,这些操作大多只需一行代码,非常简洁。

分享到:
评论

相关推荐

    第24次课-1 Spring与Hibernate的整合

    24.3 Spring对Hibernate的简化 24.1 概述 24.1.1 概述 Spring提供了很多IoC特性的支持,方便处理大部分典型的Hibernate整合问题。 如:SessionFactory的注入、HibernateTemplate的简化操作、DAO的支持等。 为了更好...

    MyEclipse开发SSH2(Struts2+Spring+Hibernate)应用教程

    MyEclipse开发SSH2(Struts2+Spring+Hibernate)应用教程——根据软件工程原则简化实现的JSP+J2EE入门教程 摘要:SSH2(Struts2+Spring+Hibernate)是当前开发Java动态网站的流行框架。虽然其涉及的技术较为繁杂,...

    spring+hibernate3.2+struts2.0 注解

    spring+hibernate3.2+struts2.0 注解,超级简化,省略hbm.xml、bean注入xml配置等,一切annotation

    项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)130223.rar

    Hibernate作为ORM框架,负责将对象与数据库表进行映射,简化了数据库操作。其次,该系统使用Jsp作为前端展示层,提供了丰富的用户界面和交互功能。用户可以通过浏览器访问系统,进行项目申报、查询、修改等操作。...

    dwr+spring+hibernate的示例

    1、在dwr中尝试编写的一些通用的代码,... <br>3、如何在spring中实现单dao,使这个单dao既可以与hibernate隔离,使其低耦合高内聚,提高可维护性,又能满足各个bus的业务需要,简化开发的过程。(转载分享) <br>

    hibernate + spring 简化包

    下载和安装Spring请按如下步骤进行。  (1)登录http://www.springframework.org/download站点,下载Spring的最新稳定版本。最新版本为Spring Framework 2.5.5.建议下载 spring-framework-2.5.5-with-dependencies....

    移动ssh项目(struts+spring+hibernate+oracle)130222.rar

    130222.rar文件是一个精心打包的计算机专业JSP源码资料包,它集成了当前流行的Web开发框架:Struts, Spring, Hibernate以及Oracle数据库。此项目资料包为开发者提供了一个全面的、可立即部署的开发环境,旨在帮助...

    项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)源码.zip

    通过Hibernate框架的ORM映射机制,实现了对象与数据库之间的无缝对接,简化了数据操作过程。 此外,该系统源码还具备高度的可扩展性和可定制性。开发者可以根据实际需求,轻松地对系统进行二次开发与功能扩展。同时...

    ext+Json+dwr+spring+hibernate整合项目实例与资源

    我们一般会使用遵循MVC设计模式的Struts来规范程序结构,使用优秀的ORM组件Hibernate来简化数据库访问操作,使用系统黏合剂Spring来提高开发效率,使用异步访问的Ajax来提高用户体验。而今天我们要做的一个demo是一...

    ssh(structs,spring,hibernate)框架中的上传下载

    其实现类是apache的BasicDataSource,第11~25行定义了Hibernate的会话工厂,会话工厂类用Spring提供的LocalSessionFactoryBean维护,它注入了数据源和资源映射文件,此外还通过一些键值对设置了Hibernate所需的属性...

    Spring MVC3和Hibernate3整合的源码

    昨天上传的不怎么好,今天上传的,是使用更多的注解,简化更多的配置文件,增加了service层。

    项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5).zip

    该系统利用了Java EE技术栈中的一些最强大的技术,包括Struts2用于MVC架构的Web层,Spring框架用于依赖注入和事务管理,Hibernate作为ORM工具以简化数据库操作,JSP用于前端页面的展示,以及MySQL 5数据库用于持久化...

    使用 Spring Data JPA 简化 JPA 开发 sample code

    这是 《使用 Spring Data JPA 简化 JPA 开发》的sample code。原文在 http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-jpa/index.html

    Struts + Spring + Hibernate整合开发

    Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是简化企业开发. IOC 控制反转 PersonDaoBean 是在应用内部创建及维护的。所谓控制反转就是应用本身不负责依赖对象的...

    java_jsp项目源码_项目申报系统(Struts2+Spring+Hibernate++Mysql5)130223.rar

    项目申报系统是一个基于Struts2、Spring、Hibernate和MySQL5技术的综合信息管理平台,旨在简化项目申报流程,提高管理效率。该系统适用于各类企事业单位、政府部门和其他组织,可支持项目申报、审核、跟踪和统计分析...

    Web开发工具和方法课程的学术项目Java、Spring、Hibernate、Angular

    Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + MyBatis)开发的Web应用程序。SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、...

    基于spring+springmvc+hibernate的在线招标系统设计与实现【源码+lw+部署文档+讲解】

    适合人群:对招标流程管理有兴趣的开发人员或学生,具有Spring + Spring MVC + Hibernate框架基础的人群。 能学到什么:①学习如何使用Spring + Spring MVC + Hibernate框架构建一个实际的企业级应用;②了解招标...

    java_jsp项目源码_项目申报系统(Struts2+Spring+Hibernate++Mysql5).rar

    项目申报系统是一个基于Struts2、Spring、Hibernate和MySQL5技术的综合信息平台,旨在简化项目申报流程,提高管理效率。该系统适用于各类企事业单位、政府部门和其他组织,支持多用户同时在线操作,实现信息的集中...

    移动ssh项目(struts+spring+hibernate+oracle)130222.rar.tar.gz

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot...

Global site tag (gtag.js) - Google Analytics