講解Hibernate核心API
Hibernate還是比較常用的,于是我研究了一下Hibernate核心API,在這里拿出來和大家分享一下,希望對(duì)大家有用。
Hibernate核心API
1:Configuration接口,用于讀取配置文件信息(hibernate.cfg.xml),創(chuàng)建SessionFactory.(注意如果:hibernate.cfg.xml的名字改了以后要寫在:Configuration config = new Configuration().configure("a.xml");否則他找不到)
2:SessionFactory接口:用來生廠Session對(duì)象。
3:Session接口:封裝Connection對(duì)象,他還提供了對(duì)數(shù)據(jù)持久化對(duì)象進(jìn)行操作的方法,可以把它想象成一個(gè)持久對(duì)象的緩沖區(qū),Hibernate能夠自動(dòng)檢測緩沖區(qū)中的持久化對(duì)象是否已經(jīng)改變,并及時(shí)刷新數(shù)據(jù)庫,以保證Session中的對(duì)象與數(shù)據(jù)庫同步。
4:Transaction接口:事物對(duì)象(增刪改)\一般在Oracle中使用。(必須添加事務(wù))
5:Query接口:對(duì)數(shù)據(jù)庫以及持久化對(duì)象進(jìn)行查詢。
6:Criteria接口:他允許創(chuàng)建并執(zhí)行面向?qū)ο蟮臉?biāo)準(zhǔn)化查詢(對(duì)象查詢).
在Session接口中提供了如下操作數(shù)據(jù)庫的主要方法:
◆save():把對(duì)象保存到數(shù)據(jù)庫。
◆update():更新數(shù)據(jù)庫所對(duì)應(yīng)的對(duì)象。
◆delete():把對(duì)象從數(shù)據(jù)庫中刪除。
◆load();從數(shù)據(jù)庫中加載對(duì)象。
◆find():從數(shù)據(jù)庫中查詢對(duì)象。
核心配置文件:hibernate.cfg.xml文件用于和數(shù)據(jù)庫建立聯(lián)系。Hibernate中對(duì)象-關(guān)系映射文件用于建立實(shí)體域?qū)ο蠛蛿?shù)據(jù)庫表的關(guān)系。Hibernate核心API中操作的實(shí)體域?qū)ο笥校核矔r(shí)(臨時(shí))狀態(tài)、持久狀態(tài)、游離狀態(tài)。
◆瞬時(shí)狀態(tài):當(dāng)實(shí)例化一個(gè)持久化對(duì)象后,這個(gè)對(duì)象就處于瞬時(shí)狀態(tài)。即保存在一個(gè)內(nèi)存區(qū)域。
◆持久狀態(tài):當(dāng)Hibernate核心API把處于瞬時(shí)狀態(tài)的持久化對(duì)象與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行關(guān)聯(lián),對(duì)象具有了唯一的OID標(biāo)識(shí),那么就為持久狀態(tài)。
◆游離狀態(tài):當(dāng)Hibernate核心API的Session關(guān)閉后,此次持久化對(duì)象雖然擁有了OID和數(shù)據(jù)庫對(duì)應(yīng)的記錄,但是會(huì)話已經(jīng)關(guān)閉,對(duì)象不再持久化管理之內(nèi),此時(shí)就叫游離狀態(tài)。
【編輯推薦】