`
120153216
  • 浏览: 61711 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

为什么要用Hibernate

阅读更多
Hibernate工作原理: 
    1、读取并解析配置文件 
    2、读取并解析映射文件,创建SessionFactory 
    3、打开Session 
    4、创建事务Transaction 
    5、持久化操作 
     6、提交事务 
     7、关闭Session 
    8、关闭SessionFactory 

至于我们为什么要用Hibernate,就从Hibernate的四个优点来说: 

    首先、Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 

    其次、Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作。 

    再次、Hibernate使用java的反射机制,而不是字节码增强程序类实现透明性 

    最后、Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系。 


接下来我们再谈谈Hibernate的缓存: 

    1、内部缓存在Hibernate中又叫一级缓存,属于应用事务级缓存 
    
    2、二级缓存 
       A)、应用级缓存 
       B)、分布式缓存 
            条件:数据不会被第三方修改,数据在可接受范围、数据更新频率低,同一数据被系统频繁使用、非关键数据 
       C)、第三方缓存的实现 


再说下 Hibernate的查询方式: 

      1、HQL(Hibernate Query Language) 
         此方式跟sql语句相识,但又有不同。呵呵,不要被表象迷惑,HQL是面向对象的,在HQL中对象的名称和属性是大小写敏感的。 

      2、Criteria query 
        它是Hql查询的延伸,提供了一些高级查询的功能 

      3、Native SQL Query 
        就是用sql语句查询,Hibernate也支持sql语句。 


最后提下:  如何优化Hibernate? 
       1、使用双向一对多关联,不适用单向一对多 
       2、灵活使用单向一对多关联 
       3、不用一对一,用多对一取代 
       4、配置对象缓存,不用集合缓存 
       5、一对多集合使用bag,多对多用set 
      6、继承类使用显示多态 
       7、表字段要少,不要怕表关联多 

 

分享到:
评论

相关推荐

    Hibernate工作原理及为什么要用

    Hibernate 工作原理及为什么要用 Hibernate 作为一个开放源代码的对象关系映射框架,对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。下面将详细介绍 Hibernate 的...

    Hibernate完整使用教程

    为什么选择 Hibernate Hibernate 的出现是为了解决传统的 JDBC 编程中的问题。传统的 JDBC 编程需要编写大量的代码来处理数据库交互,而 Hibernate 则提供了一种简洁的方式来访问关系数据库。 Hibernate 的主要优点...

    Eclipse上使用Hibernate

    在 Eclipse 中,您可以选择 File->New->Other->Hibernate->Hibernate Mapping File,然后选择要生成实体类的表。 一旦生成了.hbm.xml 文件,您就可以使用 HibernateSynchronizer 插件来生成实体类和 DAO 类。在 ...

    Hibernate 经典总结

    【为什么要使用 Hibernate?】 1. 简化 JDBC:Hibernate 提供了一种更高级别的抽象,避免了手动编写大量 SQL 语句的繁琐工作。 2. 面向对象操作:Hibernate 允许开发者直接操作对象,而不需要关心底层的数据库交互...

    Hibernate 配置各种数据库

    下面是一个使用 properties 文件配置 Hibernate 连接数据库的示例: hibernate.connection.driver_class = org.hsqldb.jdbcDriver hibernate.connection.username = sa hibernate.connection.password = hibernate....

    hibernate使用参考文档

    Hibernate 使用参考文档 Hibernate 是一个流行的 Java持久层框架,它提供了一种对象关系映射(Object-Relational Mapping,ORM)机制,用于将 Java 对象与关系数据库之间建立映射关系。本文档旨在指导读者快速从 ...

    struts,spring,hibernate是什么.txt

    struts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么....

    hibernate需要的10个jar

    在Java开发领域,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。当涉及到Hibernate项目时,为了使其正常运行,通常需要一系列的JAR(Java ...

    Hibernate入门到精通

    要使用 Hibernate,首先需要搭建 Hibernate 的开发环境。下面是 Hibernate 环境搭建的主要步骤: 1. 映射配置文件 在 Hibernate 中,映射配置文件(hibernate.cfg.xml)是用于配置 Hibernate 的核心配置文件。该...

    Beginning Hibernate: For Hibernate 5

    #### 为什么学习 Hibernate - **简化开发**: Hibernate 大大减少了开发者处理复杂 SQL 查询的工作量,使得数据库操作更加直观。 - **提高效率**: 通过缓存机制、懒加载等技术,Hibernate 可以有效提高应用程序性能。...

    Hibernate入门jar包

    本压缩包提供的是Hibernate入门所需的jar包,包括了Hibernate的核心库以及与之配合使用的相关组件。让我们深入探讨一下这些jar包以及它们在Hibernate中的作用。 1. Hibernate核心库: - `hibernate-core.jar`:这...

    CTSP Hibernate 培训教程

    这部分主要介绍Hibernate的基本概念,包括什么是ORM、为什么要使用Hibernate,以及Hibernate框架的主要组成部分。它将引导读者安装和配置Hibernate环境,理解Hibernate的核心API,如SessionFactory、Session、...

    Hibernate3的依赖包

    Hibernate3是一个广泛使用的Java对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作,极大地简化了Java应用程序与数据库之间的交互。在这个"Hibernate3的依赖包"中,包含了运行Hibernate3应用...

    hibernate与mybatis一起使用取长补短

    在IT行业中,数据库操作是应用程序的核心部分...《基于Hibernate和IBatis框架的混合持久化技术的应用.pdf》很可能详细阐述了如何在实际项目中实施这种策略,包括配置、集成、最佳实践等方面,为读者提供了深入的指导。

    Hibernate Hibernate5 讲义 PDF

    Hibernate框架被广泛应用于企业级Java应用程序中,可以与Servlet/JSP Web应用、Java客户端程序等结合使用。 对象持久化(Persistence)是指将内存中的对象数据保存到持久化存储设备上,如硬盘。这主要是为了解决...

    Hibernate,hibernate笔记

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库。这个框架将数据库操作转化为对Java对象的操作,简化了数据持久化的复杂度。以下是对Hibernate的一些关键知识点的...

    hibernate和MySQL的jar

    Hibernate是一种流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来操作数据库,而无需直接编写SQL语句。MySQL则是一款开源、免费的关系型数据库管理系统,广泛应用于Web应用程序。 在描述...

    hibernate必要的jar包

    8. **cglib-nodep.jar**或**asm.jar**:这两个库之一通常用于为没有接口的类创建代理对象,这是Hibernate动态生成代理类的一种方式。 9. **antlr.jar**:ANTLR是一个强大的解析器生成器,Hibernate使用它来解析HQL...

    hibernate学习资料大全

    在使用Hibernate时,我们需要配置一个名为`hibernate.cfg.xml`的文件,其中包含了数据库连接信息、方言、缓存策略等。学习如何正确配置这些参数对于项目的稳定运行至关重要。 3. **实体类和注解**: Hibernate ...

Global site tag (gtag.js) - Google Analytics