`
javaeyetodj
  • 浏览: 432528 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

浅析Hibernate orm框架

阅读更多
转自http://developer.51cto.com/art/200909/153198.htm
  -----IBMdW
这里介绍Hibernate不仅仅作为持久层的orm框架存在,它除了dao层的持久化操作外,还有很多。以及介绍Hibernate将ejb2时代的实体bean赶进了历史,而ejb3的jpa标准也只不过是Hibernate的子集而已。
Hibernate有很多值得学习的地方,这里我们主要介绍orm框架,包括介绍Spring+Hibernate+范型+可变参数等方面。

Hibernate在解决性能问题方面做得非常好。有了它的缓存机制,使用第三方缓存和数据库连接池,就较好的解决的性能问题。但这些还不够,Hibernate给了开发者足够的自由,让开发者自己去控制性能问题。

学习了一段时间的ibatis,我觉得Hibernate有着ibatis无法替代的优势。

1.Hibernate不仅仅作为持久层的orm框架存在,它除了dao层的持久化操作外,还有很多。

在注解annotation已经走向主流的今天,Hibernate 迅速响应,让xml部署描述符成为可选的。Hibernate annotation 对大字段的处理只是一个@Lob就搞定了。

Hibernate search对Lucene进行了轻量级的封装,全文检索变得非常简单。

Hibernate validator被认为是最合理的验证方式,将验证策略直接附在贯穿各层的领域模型domain上,不再需要哪些web框架的xml方式的验证,代码中不再出现大量的非空/null的判断。

2.jbpm, Jbpm业务流程引擎的持久层采用Hibernate来实现,要想使用jbpm,Hibernate是必须的。我想,业务流程管理无比重要,在soa迅速发展的今天,如果实施soa项目,业务流程管理是必然和必须的。因为soa就是业务和it技术的融合,是业务流程管理和it基础架构的融合。在soa中,业务管理是第一位的,这需要相应的技术来实现该业务流程管理。开源领域的jbpm我想会是首选。所以,为了将来有可能实施soa项目,为了实现soa的业务流程管理,应该使用Hibernate.

3.大家都知道,Hibernate将ejb2时代的实体bean赶进了历史,而ejb3的jpa标准也只不过是Hibernate的子集而已。jsr规范请求的威力是巨大的,没有各种jsr规范请求,就不会有各种应用程序框架,各种应用程序框架只是那些jsr规范请求的实现者。jpa 作为持久层的规范标准,引导持久层orm框架的方向,jpa同样以面向对象的方式操作数据库,而不是写sql语句。规范标准都完全orm,不写sql了,你还有理由不跟着它吗?

4.Spring+Hibernate+范型+可变参数,这是一个非常强大的组合,对应普通的crud操作,你不再需要重复写那些烦人的相似的dao层和manager层的代码,仅仅需要写一次,就完成了所有大量的crud操作。Ibatis尽管也支持范型,但始终没有Hibernate支持的好

分享到:
评论

相关推荐

    浅析Hibernate下数据批量处理方法.doc

    标题"浅析Hibernate下数据批量处理方法"和描述中提到,早期的Hibernate在批量插入时可能存在效率问题,但最新版本已经进行了优化,例如通过设置`batch_size`参数来提高批量处理的性能。`batch_size`设置的是JDBC...

    论坛系统 hibernate jsp hibernate 毕业论文项目

    【描述】:这个项目是一个基于Java技术栈的论坛系统实现,主要利用了Hibernate ORM框架与JSP(JavaServer Pages)进行开发,是适合学生作为毕业论文项目的实例。它展示了如何将数据库操作与Web界面相结合,为用户...

    浅析Java的Hibernate框架中的继承关系设计

    总的来说,Hibernate的继承关系设计是其强大的ORM功能之一,它允许开发者根据业务需求灵活地建模,提高代码的重用性和可维护性。理解并熟练掌握这些继承策略,能够帮助我们更好地利用Hibernate来处理复杂的对象关系...

    深入浅析Mybatis与Hibernate的区别与用途

    Mybatis和Hibernate都是orm数据库框架,但是它们有着很大的区别。在本文中,我们将对Mybatis和Hibernate的区别与用途进行详细的分析。 自动化程度 Mybatis是半自动的,而Hibernate是全自动的。Mybatis需要手写SQL...

    浅析java程序中hibernate的应用总结

    Hibernate是一个开源的Java框架,主要用于简化Java应用程序与数据库之间的交互。它作为中间件,处理了Java程序中的SQL语句,将它们发送到数据库执行,并将数据库返回的结果转换为Java对象,方便程序员进行操作。通过...

    JAVA DAO模式浅析.pdf

    2. **ORM框架**:使用ORM(对象关系映射)框架,如Hibernate或MyBatis,可以更方便地处理数据访问。ORM框架自动处理SQL的生成和执行,提供了更高的抽象层次,使得数据库操作更加便捷,同时也简化了DAO类的实现。 3....

    基于Java的Web开发技术浅析.pdf

    - Hibernate:Hibernate是一个对象关系映射(ORM)框架,简化了数据库操作,使得开发者可以使用Java对象而不是SQL语句来操作数据库。 4 Java Web 应用部署 Java Web应用通常被打包为WAR(Web ARchive)或EAR...

    Hibernate批量更新与删除实例浅析

    在Java的软件开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它使得开发者可以使用面向对象的方式来操作数据库。然而,在处理大数据量的更新和删除操作时,普通的单条处理方式可能会导致效率低下。本文...

    Java 反射机制浅析

    3. **ORM框架**:如Hibernate,使用反射来映射数据库记录到Java对象。 4. **测试工具**:JUnit等测试框架使用反射来调用私有方法进行测试。 5. **动态代理**:Java的`java.lang.reflect.Proxy`类允许创建动态代理类...

    iBATIS教程之快速入门浅析

    与Hibernate等其他ORM框架相比,iBATIS 更为简洁,上手速度更快,适合那些不需要复杂功能但又希望简化数据库访问的项目。 在快速入门iBATIS的过程中,首先要理解其基本概念。iBATIS通过XML配置文件来定义SQL语句与...

    基于Java的Web开发技术浅析.zip

    另外,对于数据访问,JPA(Java Persistence API)和Hibernate作为ORM(Object-Relational Mapping)工具,使得Java对象可以直接操作数据库,降低了数据库操作的复杂性。 至于服务器端的部署,Tomcat是一个广泛使用...

    struts入门教程

    Struts2与ORM框架Hibernate的结合,可以实现数据持久化的无缝对接,简化数据访问层的开发。 #### 十四、集成Spring 通过与Spring框架的深度集成,Struts2可以更好地实现依赖管理和事务处理,构建出更加健壮的企业...

    iBATIS教程之入门浅析借鉴.pdf

    与Hibernate和Apache OJB等一站式ORM解决方案不同,iBATIS允许开发者更自由地控制SQL查询,提供了更高的灵活性。这个框架由SQL Maps和Data Access Objects (DAOs)两个主要组件构成,还有一些辅助工具。 **SQL Maps*...

    struts2 详解

    讨论如何将Struts2与ORM框架Hibernate结合起来使用,以提高数据持久化的效率和灵活性。 #### 十四、集成SPRING 介绍如何在Struts2项目中引入Spring框架,实现依赖注入和服务层的管理。 #### 十五、集成IBATIS ...

    Java反射机制(Reflection)浅析

    - **元数据处理**:如ORM框架(如Hibernate)通过反射解析数据库表结构与Java类之间的映射关系。 - **动态代理**:Java的`java.lang.reflect.Proxy`类可以创建动态代理对象,实现接口的方法调用转发。 然而,尽管...

    struts2 入门书籍

    为了构建复杂的企业级应用,Struts2通常会与其他框架如Hibernate(用于ORM)、Spring(用于IOC和AOP)集成,形成一套完整的开发解决方案。 #### 12. 实战项目示例 通过一系列实战项目,如投票管理系统、无纸化办公...

    Struts2轻松入门,合适入门的朋友。

    HIBERNATE是一个强大的对象关系映射(ORM)框架,可以轻松地与Struts2集成,提供数据库操作的支持。 #### 14.1 集成SPRING Spring框架是Java企业级应用开发中的重要组成部分,Struts2可以与Spring无缝集成,实现...

    工作资源汇总

    - **数据访问/集成**:提供了JDBC、ORM(如Hibernate)、NoSQL数据库等多种数据访问技术的支持。 - **测试支持**:提供了模拟对象的支持,便于编写单元测试。 Spring框架的设计哲学强调了模块化和灵活性,可以根据...

Global site tag (gtag.js) - Google Analytics