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 体系结构与工作原理 #### 一、概述 Hibernate 是一款开源的对象关系映射(Object Relational Mapping,简称 ORM)框架,它为 Java 应用程序提供了一种将对象模型与数据库模型进行映射的方式,使得...
Struts 体系结构与工作原理 Struts 体系结构是目前基于 Java 的 Web 系统设计中广泛使用的 MVC 架构。Struts 是 Apache 基金会 Jakarta 项目组的一个 Open Source 项目,它采用模型 - 视图 - 控制器(Model-View-...
通过这种架构,Struts 能够有效地分离表现层、业务逻辑层和数据访问层,提高代码的可重用性和可测试性,同时也提供了良好的扩展性,可以与其他技术如 JDBC、EJB、Hibernate、iBATIS 集成,以适应不同的数据访问需求...
【Hibernate原理与实现简介】 Hibernate 是一款流行的Java平台上的对象关系映射(ORM)框架,它的主要作用是简化数据库操作,将复杂的SQL语句和Java对象之间的转换工作自动化,从而提高开发效率。Hibernate通过将...
### Hibernate原理与配置快速入门知识点解析 #### 一、Hibernate简介 - **概念**:Hibernate是一种面向Java的应用框架,主要用于简化数据库操作,提供了一种对象关系映射(Object Relational Mapping, ORM)的方式...
2. 体系结构:Hibernate的体系结构通常包括了核心和可选组件,比如会话(Session)和会话工厂(SessionFactory)、事务管理、缓存机制、以及查询接口等。文档会详细解释这些组件的职责和它们是如何协同工作来实现...
《J2EE体系结构及程序设计》是一门针对计算机科学与技术专业学生的选修课程,主要目的是培养学生在Java EE平台上进行Web程序设计和企业应用开发的能力。课程在大学三年级第一学期开设,考虑到学生已具备一定的Java...
这个资源是Hibernate 3.5.6版本的源码,对于理解ORM框架的内部工作原理、学习数据库交互以及深入研究Hibernate的实现机制非常有帮助。 1. **对象关系映射(ORM)**:ORM是Hibernate的核心特性,它允许开发者用Java...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web...了解Struts2的体系结构对于理解它的工作原理和优化应用性能至关重要。开发者可以根据需求选择合适的组件和配置,以实现高效、灵活的Web应用开发。
内容提要 本书深入浅出地介绍了轻量级开源框架Hibernate3的... “使用Hibernate并非易事,本书透彻地阐述了Hibernate的原理与应用,并配有大量实战代码,能够使新用户非常轻松地入门。” ——RegDeveloper.co.uk
Spring还集成了Hibernate,提供了ORM支持,并且可以与Struts2协同工作,实现请求处理和业务逻辑的分离。 整合Struts2、Hibernate和Spring,首先需要在Spring配置文件中定义Bean,包括Action类、Service层接口及其...
#### Hibernate体系结构与配置 - **体系结构**: - **概述**:介绍了Hibernate的基本组成部分及其工作原理。 - **Minimal architecture**:描述了最简化的Hibernate架构,仅包含必要的组件。 - **Comprehensive ...
这本书详细介绍了Hibernate的核心概念、使用方法以及最佳实践,旨在帮助读者深入理解Hibernate的工作原理,并能有效地应用到实际项目中。 1. Hibernate概述:Hibernate是一个开源的Java库,它提供了对关系数据库的...
- **插件体系结构**:Struts的插件体系结构使其具有高度的可扩展性,可以通过插件添加额外的功能。 ### 三者结合的优势 将Struts、Spring和Hibernate结合使用,可以创建出一个功能强大且灵活的Web应用程序框架。...
本文主要研究了Hibernate框架在电子商务网站中的应用,讨论了面向对象技术、数据库技术和组件复用技术在软件开发中的应用,并分析了Hibernate框架的体系结构和基本原理。 在软件开发领域,面向对象技术、数据库技术...
分析图通常会辅助理解 Hibernate 的工作原理,例如对象关系图、数据流图、生命周期状态转换图等,这些图示能够帮助开发者直观地理解 Hibernate 的内部运作机制。 至于【相关jar】,它们是 Hibernate 框架运行所必需...
Hibernate体系结构中的关键组件包括: - SessionFactory:单个数据库映射关系经过编译后的内存镜像,是线程安全的,用于生成Session。 - Session:代表应用程序与持久存储层之间的单线程交互操作对象,隐藏了JDBC...
《精通Eclipse Web开发--Java体系结构、工具、框架及整合应用》这本书是为Java开发者提供的一本深度学习Eclipse IDE、Web开发技术以及相关工具和框架的指南。以下是本书涵盖的一些关键知识点: 1. **Java体系结构**...