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 作为一个开放源代码的对象关系映射框架,对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。下面将详细介绍 Hibernate 的...
为什么选择 Hibernate Hibernate 的出现是为了解决传统的 JDBC 编程中的问题。传统的 JDBC 编程需要编写大量的代码来处理数据库交互,而 Hibernate 则提供了一种简洁的方式来访问关系数据库。 Hibernate 的主要优点...
在 Eclipse 中,您可以选择 File->New->Other->Hibernate->Hibernate Mapping File,然后选择要生成实体类的表。 一旦生成了.hbm.xml 文件,您就可以使用 HibernateSynchronizer 插件来生成实体类和 DAO 类。在 ...
【为什么要使用 Hibernate?】 1. 简化 JDBC:Hibernate 提供了一种更高级别的抽象,避免了手动编写大量 SQL 语句的繁琐工作。 2. 面向对象操作:Hibernate 允许开发者直接操作对象,而不需要关心底层的数据库交互...
下面是一个使用 properties 文件配置 Hibernate 连接数据库的示例: hibernate.connection.driver_class = org.hsqldb.jdbcDriver hibernate.connection.username = sa hibernate.connection.password = hibernate....
Hibernate 使用参考文档 Hibernate 是一个流行的 Java持久层框架,它提供了一种对象关系映射(Object-Relational Mapping,ORM)机制,用于将 Java 对象与关系数据库之间建立映射关系。本文档旨在指导读者快速从 ...
struts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么.txtstruts,spring,hibernate是什么....
在Java开发领域,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。当涉及到Hibernate项目时,为了使其正常运行,通常需要一系列的JAR(Java ...
要使用 Hibernate,首先需要搭建 Hibernate 的开发环境。下面是 Hibernate 环境搭建的主要步骤: 1. 映射配置文件 在 Hibernate 中,映射配置文件(hibernate.cfg.xml)是用于配置 Hibernate 的核心配置文件。该...
#### 为什么学习 Hibernate - **简化开发**: Hibernate 大大减少了开发者处理复杂 SQL 查询的工作量,使得数据库操作更加直观。 - **提高效率**: 通过缓存机制、懒加载等技术,Hibernate 可以有效提高应用程序性能。...
本压缩包提供的是Hibernate入门所需的jar包,包括了Hibernate的核心库以及与之配合使用的相关组件。让我们深入探讨一下这些jar包以及它们在Hibernate中的作用。 1. Hibernate核心库: - `hibernate-core.jar`:这...
这部分主要介绍Hibernate的基本概念,包括什么是ORM、为什么要使用Hibernate,以及Hibernate框架的主要组成部分。它将引导读者安装和配置Hibernate环境,理解Hibernate的核心API,如SessionFactory、Session、...
Hibernate3是一个广泛使用的Java对象关系映射(ORM)框架,它允许开发者用面向对象的方式处理数据库操作,极大地简化了Java应用程序与数据库之间的交互。在这个"Hibernate3的依赖包"中,包含了运行Hibernate3应用...
在IT行业中,数据库操作是应用程序的核心部分...《基于Hibernate和IBatis框架的混合持久化技术的应用.pdf》很可能详细阐述了如何在实际项目中实施这种策略,包括配置、集成、最佳实践等方面,为读者提供了深入的指导。
Hibernate框架被广泛应用于企业级Java应用程序中,可以与Servlet/JSP Web应用、Java客户端程序等结合使用。 对象持久化(Persistence)是指将内存中的对象数据保存到持久化存储设备上,如硬盘。这主要是为了解决...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库。这个框架将数据库操作转化为对Java对象的操作,简化了数据持久化的复杂度。以下是对Hibernate的一些关键知识点的...
Hibernate是一种流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来操作数据库,而无需直接编写SQL语句。MySQL则是一款开源、免费的关系型数据库管理系统,广泛应用于Web应用程序。 在描述...
8. **cglib-nodep.jar**或**asm.jar**:这两个库之一通常用于为没有接口的类创建代理对象,这是Hibernate动态生成代理类的一种方式。 9. **antlr.jar**:ANTLR是一个强大的解析器生成器,Hibernate使用它来解析HQL...
在使用Hibernate时,我们需要配置一个名为`hibernate.cfg.xml`的文件,其中包含了数据库连接信息、方言、缓存策略等。学习如何正确配置这些参数对于项目的稳定运行至关重要。 3. **实体类和注解**: Hibernate ...