hibernate简介和工作原理

来源:互联网 发布:网络翻译兼职 编辑:程序博客网 时间:2024/04/30 04:39

Hibernate的核心流程:
这里写图片描述
从上图中,我们可以看出Hibernate六大核心接口,两个主要配置文件,以及他们直接的关系。Hibernate的所有内容都在这了。结合简单的代码描述来进行说明:
1.通过Configuration config = new Configuration().configure();//读取并解析hibernate.cfg.xml配置文件
2.由hibernate.cfg.xml中的读取并解析映射信息
3.通过SessionFactory sf = config.buildSessionFactory();//创建SessionFactory
4.Session session = sf.openSession();//打开Sesssion
5.Transaction tx = session.beginTransaction();//创建并启动事务Transation
6.persistent operate操作数据,持久化操作 session.save(XXX).
7.tx.commit();//提交事务
8.关闭Session
9.关闭SesstionFactory
Hibernate的缓存机制
Hibernate缓存分为一级缓存和二级缓存
一级缓存:每次hibernate跟数据库打交道时,都是通过session来对要操作的对象取得关联,然后在进行操作,那么具体的过程是什么样的呢?
 1、首先session将一个对象加入自己的管理范围内,其实也就是把该对象放入自己的一级缓存中,例如,session.save(xxx);这个语句就是将xxx保存在自己的一级缓存中,等待事务提交后,hibernate才真正的发sql语句,对数据库进行操作。注意:session进行操作的时候,是将对象加入自己的一级缓存,并不是就直接跟数据库打交道了。session.save()操作就是一级缓存的过程。这边文章详细的介绍了一级缓存的相关信息:http://www.cnblogs.com/whgk/p/6103038.html
二级缓存:hibernate二级缓存是由第三方提供以插件的形式存在,常用的缓存实现有Ehcache、oscache.

0 0