目录
2)ServiceRegistry对象(hibernate4的新特性)
1、Hibernate执行流程分析及配置文件详解

Hibernate核心的API详解:
1)Configuration对象
| Configuration类负责管理Hibernate的配置信息。包括如下内容: 1)Hibernate运行的底层信息: 数据库的URL、用户名、密码、JDBC驱动类,数据库Dialect,数据库连接池等(对应 hibernate.cfg.xml 文件)。 2)持久化类与数据表的映射关系(*.hbm.xml 文件) 创建Configuration 的两种方式: 属性文件(hibernate.properties): Configuration cfg = new Configuration(); Xml文件(hibernate.cfg.xml)(推荐使用) Configuration cfg = new Configuration().configure(); |
2)ServiceRegistry对象(hibernate4的新特性)
| ServiceRegistry 是 Service 的注册表, 它为Service提供了一个统一的加载 / 初始化 / 存放 / 获取机制. |
3)SessionFactory对象
| 1)Configuration对象根据当前的配置信息生成 SessionFactory 对象。SessionFactory 对象一旦构造完毕,即被赋予特定的配置信息(SessionFactory 对象中保存了当前的数据库配置信息和所有映射关系以及预定义的SQL语句。同时,SessionFactory还负责维护Hibernate的二级缓存)。 Configuration cfg = new Configuration().configure(); SessionFactory sf = cfg.buildSessionFactory(); 2)SessionFactory是线程安全的。 3)SessionFactory是生成Session的工厂: Session session = sf.openSession(); 4)构造SessionFactory很消耗资源,一般情况下一个应用中只初始化一个 SessionFactory对象 |
4)Session对象
| 1)Session是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,所有持久化对象必须在 session 的管理下才可以进行持久化操作。此对象的生命周期很短。Session 对象有一个一级缓存,显式执行 flush 之前,所有的持久层操作的数据都缓存在 session 对象处。相当于 JDBC 中的 Connection。 2)持久化类与 Session 关联起来后就具有了持久化的能力。 3)是线程不安全的 4)Session 类的方法: 取得持久化对象的方法: get() load() 持久化对象都得保存,更新和删除:save(),update(),saveOrUpdate(),delete() 开启事务: beginTransaction(). 管理 Session 的方法:isOpen(),flush(), clear(), evict(), close()等 |
5)Transaction对象
| 1)代表一次原子操作,它具有数据库事务的概念。所有持久层都应该在事务管理下进行,即使是只读操作。 Transaction tx = session.beginTransaction(); 2)常用方法: commit():提交相关联的session实例 rollback():撤销事务操作 |
6)hibernate.cfg.xml配置详解
| <hibernate-configuration> <session-factory> <!-- 数据库连接配置 --> <property name |

本文详细介绍了Hibernate的执行流程,包括Configuration对象的配置、ServiceRegistry对象的作用、SessionFactory的构建和Session对象的使用方法,以及Transaction对象在事务管理中的应用。同时,还展示了如何使用HibernateUtils工具类进行CRUD操作的示例。

1万+

被折叠的 条评论
为什么被折叠?



