Hibernate(一)---Hibernate简介

来源:互联网 发布:网络驱动器没有密码 编辑:程序博客网 时间:2024/05/23 07:25

(一)Hibernate概述
Hibernate是一个Java领域的持久化的ORM框架;
(1)对象的持久化
· 狭义的理解:“持久化”仅仅把对象永久保存到数据库中;
· 广义的理解: “持久化”包括和数据库相关的各种操作:
~ 保存:把对象永久保存到数据库中。
~更新:更新数据库中对象(记录)的状态。
~ 删除:从数据库中删除一个对象。
~ 查询:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中.
~加载:根据特定的OID(即数据库中的主键),把一个对象从数据库加载到内存中。
(2)ORM(Object/Relation Mapping): 对象/关系映射

面向对象 面向关系 类 表 对象 表的行(记录) 属性 表的列(字段)

~ORM思想:将关系型数据库中表中的记录映射成为对象,以对象的形式展现,可以把数据库的操作转化为对对象的操作;
~ORM采用元数据(描述数据的数据)来描述对象-关系映射细节,元数据通常采用XML格式,并且存放在专门的对象-关系映射文件中.
(二)Hibernate的核心
这里写图片描述
~~Configuration类负责管理hibernate的配置信息。包括如下内容:
–Hibernate 运行的底层信息:数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等(对应 hibernate.cfg.xml 文件)。
–持久化类与数据表的映射关系(*.hbm.xml 文件)
–创建 Configuration 的两种方式
①属性文件(hibernate.properties):
Configuration cfg = new Configuration();
②Xml文件(hibernate.cfg.xml)
Configuration cfg = new Configuration().configure();
Configuration 的 configure 方法还支持带参数的访问:
File file = new File(“simpleit.xml”);
Configuration cfg = new Configuration().configure(file);

~~SessionFactory接口
· 针对单个数据库映射关系经过编译后的内存镜像,是线程安全的。
· SessionFactory 对象一旦构造完毕,即被赋予特定的配置信息。
· SessionFactory是生成Session的工厂。
· 构造 SessionFactory 很消耗资源,一般情况下一个应用中只初始化一个 SessionFactory 对象。
~~Session接口:持久化类与 Session 关联起来后就具有了持久化的能力(即可以对数持久化对象进行CRUD操作)
~~Transaction(事务):代表一次原子操作,它具有数据库事务的概念。所有持久层都应该在事务管理下进行,即使是只读操作。
Transaction tx = session.beginTransaction();
· 常用方法:
– committ():提交相关联的session实例;
– rollback():撤销事务操作;
– wasCommitted():检查事务是否提交;
~~Query接口和Criteria接口:负责执行各种数据库查询;

原创粉丝点击