hibernate簡介和工作原理
阿新 • • 發佈:2019-01-06
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()操作就是一級快取的過程。這邊文章詳細的介紹了一級快取的相關資訊:
二級快取:hibernate二級快取是由第三方提供以外掛的形式存在,常用的快取實現有Ehcache、oscache.