Hibernate的核心组件简单介绍
1.在项目中使用Hibernate框架时,非常关键的一点就是要使用Hibernate的核心类和接口,即核心组件。Hibernate接口位于业务层和持久化层之间。Hibernate除核心组件外还有Hibernate配置文件(hibernate.cfg.xml或hibernate.properties)、映射文件(xxx.hbm.xml)和持久化类(PO)外。
2.下面开始介绍Hibernate的核心组件:
(1).Configuration类:Configuration类负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
(2).SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就可以了,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
SessionFactroy产生Session 实例的工厂。
(3).Session接口:Session接口负责执行被持久化对象的操作,它有get( ),load( ),save( ),update( )和delete( )等方法用来对PO 进行加载、保存、更新及删除等操作。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session。
(4).Transaction接口:Transaction接口负责事务相关的操作,用来管理Hibernate事务,它的主要方法有commit()和rollback(),可以使用Session的beginTransaction()方法生成。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
(5).Query接口:Query接口负责执行各种数据库查询。它可以使用HQL语言,用来对PO进行查询操作。它可以使用Session的createQuery()方法生成。
(6).Hibernate的配置文件:Hibernate配置文件主要用来配置数据库连接参数,例如,数据库的驱动程序,URL,用户名和密码、数据库方言等。它有两种格式:hibernate.cfg.xml和hibernate.properties。
两者的配置内容基本相同,但前者比后者使用方便一些,例如,hibernate.cfg.xml 可以在其<mapping>子元素中定义用到的xxx.hbm.xml 映射文件列表,而使用hibernate.properties则需要在程序中以硬编码方式指明映射文件。在一般情况下,hibernate.cfg.xml 是Hibernate的默认配置文件。
(7).映射文件:映射文件(xxx.hbm.xml)用来把PO与数据库中的数据表、PO之间的关系与数据表之间的关系,以及PO的属性与表字段一一映射起来,它是Hibernate的核心文件。
(8).持久化对象:持久化对象(Persistent Objects,PO)可以是普通的JavaBean,惟一特殊的是它们与(仅一个)Session相关联。JavaBean在Hibernate中存在三种状态:临时状态(transient)、持久化状态(persistent)和脱管状态(detached)。当一个JavaBean对象在内存中孤立存在不与数据库中的数据有任何关联关系时,那么这个JavaBean对象就称为临时对象(Transient Object);当它与一个Session相关联时,就变成持久化对象(Persistent Object);在这个Session被关闭的同时,这个对象也会脱离持久化状态,变成脱管对象(Detached Object),可以被应用程序的任何层自由使用,例如,可用做与表示层打交道的数据传输对象(Data transfer Object)。
3.以上内容仅供大家学习参考,谢谢!
Hibernate的核心组件简单介绍相关推荐
- Hibernate依赖包简单介绍
http://wqbi.itpub.net/post/2966/61574 很多书都没有怎么介绍Hibernate依赖的jar包,这篇文章算是说的比较全吧. Hibernate一共包括了23个jar包 ...
- 1.Hibernate框架核心组件 (转自冯岩)
Hibernate框架核心组件 在Hibernate框架简述中,演示了一个简单的Hibernate应用,但并没有深入说明其中程序,在这篇中将比较详细的介绍一下Hibernate的核心组件. 首先最关键 ...
- hadoop简单介绍_Hadoop:简单介绍
hadoop简单介绍 什么是Hadoop: Hadoop是用Java编写的框架,用于在大型商品硬件群集上运行应用程序,并具有类似于Google File System和MapReduce的功能 . H ...
- Hadoop:简单介绍
什么是Hadoop: Hadoop是一种用Java编写的框架,用于在大型商品硬件集群上运行应用程序,并具有类似于Google File System和MapReduce的功能 . HDFS是高度容错的 ...
- 玩转人工智能(3)常用的大数据框架简单介绍
时光不老,我们不散. 讲大数据框架前,简单的介绍下大数据的文化.信息时代人类社会的进步得益于分享和开源.大数据时代属于信息时代的第三代发展阶段(2001年到2011年可以认为是CT行业的黄金期,200 ...
- xml、json、url的一些简单介绍
一:XML 和 JSON 的简单介绍 xml 和 json 都是程序和程序之间传送和交流数据的方式. 都是独立于 各种编程语言 而存在的. 早些时间 xml 用的非常多,后来 json 出现了,jso ...
- Hibernate快速入门+简单示例
很多人说Hbiernate已经没人用了,市面上有太多可供选择的开源工具.诚然市面上有很多新技术,但是作为初学者,还是要踏踏实实从基础做起,而且Hbiernate有自己的应用场景. 上篇博文 我们介绍了 ...
- 1、hadoop3.1.4简单介绍及部署、简单验证
Hadoop系列文章目录 1.hadoop3.1.4简单介绍及部署.简单验证 2.HDFS操作 - shell客户端 3.HDFS的使用(读写.上传.下载.遍历.查找文件.整个目录拷贝.只拷贝文件.列 ...
- JRainbow的简单介绍
一.简单介绍 一个基于Spring+Hibernate+Struts2+Extjs4的企业级开发的Eclipse开源插件.主要用于快速开发,针对都是Java开发人员,只是为程序员节省部分时间.非傻瓜式 ...
最新文章
- 浅析Codewarrior、IAR和Keil MDK三大开发环境优缺点
- vue 打包体积过大 实现懒加载 ????
- BLE GAP广播(Advertising Packet)格式
- STM32之串口DMA例程
- Shell——变量详解及注意点
- 微软以75亿美元收购GitHub
- 学习java_java学习册之立FLAG
- spark分片个数的确定及Spark内存错误(GC error)的迂回解决方式
- Atitit 数据库结果集映射 ResultSetHandler 目录 1. 常见的四种配置ResultSetHandler	1 2. Dbutil	1 3. Mybatis 致敬	3 4. H
- 玻纤效应差分信号影响及处理方法,使用sigrity建模玻纤效应仿真
- 如何在PDF中添加图片(签名)
- ExoPlayer播放器剖析(七)ExoPlayer对音频时间戳的处理
- ABeam Insight (德硕)| Smart Conference ——让你的生意跨越语言障碍
- 中国移动家庭智能网关超级账号密码(广西桂林)
- teamviewer安装失败
- CAD批量画八边形风机基础平台
- Vue渲染器(一):渲染器的设计
- oracle 主键 唯一性,oracle 唯一索引,唯一约束,主键之间的联系
- 国家开发银行 续贷声明
- 2-10-分布式应用与集中式应用
热门文章
- 关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法...
- liferay 指定默认首页
- 软工总结暨团队成员自评(胡骏)
- Ajax--art-template + 调用天气接口
- .NET采集数据,放入数据库总结
- mysql-启动、关闭与重启
- Bootstrap报错:Bootstrap's JavaScript requires jQuery
- 日常((⊙_⊙)…)
- Android Weekly Notes Issue #230
- AndroidManifest.xml文件详解(receiver)