`
hong0104
  • 浏览: 17184 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

hibernate的工作原理和体系结构

阅读更多

1. Hibernate 的初始化.

读取Hibernate 的配置信息-〉创建Session Factory

1) 创建Configeration类的实例。

它的构造方法:将配置信息(Hibernate config.xml)读入到内存。
一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。

2) 创建SessionFactory实例

把Configeration 对象中的所有配置信息拷贝到SessionFactory的缓存中。
SessionFactory的实例代表一个数据库存储员源,创建后不再与Configeration 对象关联。
缓存(cache):指Java对象的属性(通常是一些集合类型的属性--占用内存空间。
SessionFactory的缓存中:Hibernate 配置信息。OR映射元数据。
缓存-大:重量级对象 小:轻量级对象

3) 调用SessionFactory创建Session的方法

1 用户自行提供JDBC连接。

Connection con=dataSource.getConnection();
Session s=sessionFactory.openSession(con);

2 让SessionFactory提供连接

Session s=sessionFactory.openSession();

4)通过Session 接口提供的各种方法来操纵数据库访问。 

Hibernate 的缓存体系

一级缓存:

Session 有一个内置的缓存,其中存放了被当前工作单元加载的对象。
每个Session 都有自己独立的缓存,且只能被当前工作单元访问。

二级缓存:

SessionFactory的外置的可插拔的缓存插件。其中的数据可被多个Session共享访问。

SessionFactory的内置缓存:存放了映射元数据,预定义的Sql语句。 

Hibernate 中Java对象的状态

1. 临时状态 (transient)

特征:

1 不处于Session 缓存中
2 数据库中没有对象记录

Java如何进入临时状态

1 通过new语句刚创建一个对象时
2 当调用Session 的delete()方法,从Session 缓存中删除一个对象时。 

2.持久化状态(persisted)

特征:

1 处于Session 缓存中
2 持久化对象数据库中设有对象记录
3 Session 在特定时刻会保持二者同步

Java如何进入持久化状态

1 Session 的save()把临时-》持久化状态
2 Session 的load(),get()方法返回的对象
3 Session 的find()返回的list集合中存放的对象
4 Session 的update(),saveOrupdate()使游离-》持久化

3.游离状态(detached)

特征:

1 不再位于Session 缓存中
2 游离对象由持久化状态转变而来,数据库中可能还有对应记录。

Java如何进入持久化状态-》游离状态

1 Session 的close()方法
2 Session 的evict()方法,从缓存中删除一个对象。提高性能。少用。

分享到:
评论

相关推荐

    Hibernate 体系结构与工作原理.txt

    ### Hibernate 体系结构与工作原理 #### 一、概述 Hibernate 是一款开源的对象关系映射(Object Relational Mapping,简称 ORM)框架,它为 Java 应用程序提供了一种将对象模型与数据库模型进行映射的方式,使得...

    struts体系结构与工作原理

    Struts 的体系结构与工作原理可以分为三个部分:模型(Model)、视图(View)和控制器(Controller)。 模型(Model)是 Struts 的核心组件之一,负责处理业务逻辑和数据存取。Struts 可以很容易地与数据访问技术相...

    Struts的体系结构与工作原理

    通过这种架构,Struts 能够有效地分离表现层、业务逻辑层和数据访问层,提高代码的可重用性和可测试性,同时也提供了良好的扩展性,可以与其他技术如 JDBC、EJB、Hibernate、iBATIS 集成,以适应不同的数据访问需求...

    8Hibernate原理与实现简介

    【Hibernate原理与实现简介】 Hibernate 是一款流行的Java平台上的对象关系映射(ORM)框架,它的主要作用是简化数据库操作,将复杂的SQL语句和Java对象之间的转换工作自动化,从而提高开发效率。Hibernate通过将...

    《J2EE体系结构及程序设计》课程评价分析

    《J2EE体系结构及程序设计》是一门针对计算机科学与技术专业学生的选修课程,主要目的是培养学生在Java EE平台上进行Web程序设计和企业应用开发的能力。课程在大学三年级第一学期开设,考虑到学生已具备一定的Java...

    hibernate基础

    主要内容包括Hibernate的基本体系结构、如何使用Java5注解和基于XML的映射文件来表示映射信息,并讨论了HibernateSession对象和HQL的使用。本书结合大量实际代码,力图使读者能够更好地学习并掌握Hibernate的使用。...

    hibernate中文参考文档

    2. 体系结构:Hibernate的体系结构通常包括了核心和可选组件,比如会话(Session)和会话工厂(SessionFactory)、事务管理、缓存机制、以及查询接口等。文档会详细解释这些组件的职责和它们是如何协同工作来实现...

    Hibernate原理与配置快速入门 pdf

    - **扩展性**:通过策略模式和插件体系结构,Hibernate具备良好的可扩展性和可定制性。 #### 四、基础配置 - **配置文件**:`hibernate.cfg.xml`是最主要的配置文件,用于配置连接数据库的相关信息,如数据库驱动、...

    Struts+Spring+Hibernate原理 理解

    标题和描述中提到的“Struts+Spring+Hibernate原理理解”,是关于三个流行的企业级Java框架的深入探讨。这三个框架各自解决了不同的问题,但当它们结合在一起时,能够提供一个强大的解决方案,用于构建复杂的Web应用...

    Struts2体系结构图例详解

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web...了解Struts2的体系结构对于理解它的工作原理和优化应用性能至关重要。开发者可以根据需求选择合适的组件和配置,以实现高效、灵活的Web应用开发。

    hibernate-3.5.6 源码

    这个资源是Hibernate 3.5.6版本的源码,对于理解ORM框架的内部工作原理、学习数据库交互以及深入研究Hibernate的实现机制非常有帮助。 1. **对象关系映射(ORM)**:ORM是Hibernate的核心特性,它允许开发者用Java...

    JavavEE轻量级框架Struts2+Hibernate+Spring整合开发

    Spring还集成了Hibernate,提供了ORM支持,并且可以与Struts2协同工作,实现请求处理和业务逻辑的分离。 整合Struts2、Hibernate和Spring,首先需要在Spring配置文件中定义Bean,包括Action类、Service层接口及其...

    汤阳光Hibernate3.6(基础).doc

    6. **Hibernate的工作原理**: - Hibernate使用XML映射文件描述对象-关系映射。 - 通过反射机制处理对象,根据映射信息生成SQL并执行,实现了对象到数据库记录的自动转换。 综上所述,"汤阳光Hibernate3.6(基础)....

    精通Eclipse Web开发--Java体系结构、工具、框架及整合应用

    《精通Eclipse Web开发--Java体系结构、工具、框架及整合应用》这本书是为Java开发者提供的一本深度学习Eclipse IDE、Web开发技术以及相关工具和框架的指南。以下是本书涵盖的一些关键知识点: 1. **Java体系结构**...

    传智播客 hibernate笔记(word+pdf+源码)

    【pdf讲义】通常会以更加系统和结构化的方式呈现 Hibernate 的知识体系,包含框架的安装、配置、映射文件的细节、事务处理、缓存机制(一级缓存和二级缓存)、性能优化策略等。此外,讲义可能还会涉及如何使用 ...

    夏昕.深入浅出Hibernate

    这些特性让Hibernate能够处理复杂的数据结构和业务逻辑。 8. 性能优化:书籍会讨论如何通过缓存策略(一级缓存和二级缓存)、批处理、懒加载等方式提升Hibernate的性能,减少数据库交互,提高系统效率。 9. 异常...

    Hibernate框架在电子商务网站中的应用研究.doc

    本文主要研究了Hibernate框架在电子商务网站中的应用,讨论了面向对象技术、数据库技术和组件复用技术在软件开发中的应用,并分析了Hibernate框架的体系结构和基本原理。 在软件开发领域,面向对象技术、数据库技术...

    BONC_Hibernate

    2. **体系结构** - **概况**:概述Hibernate的架构设计。 - **JMX整合**:介绍如何利用JMX进行监控和管理。 - **上下文相关的会话**:解释如何管理和使用会话对象。 3. **配置** - **可编程的配置方式**:通过...

Global site tag (gtag.js) - Google Analytics