隨筆-208  評(píng)論-469  文章-30  trackbacks-0

          有些日子沒有寫程序了,十分的想念,該學(xué)習(xí)了,心中似乎有些傷感一樣.....................

          在項(xiàng)目中使用hibernate框架,非常關(guān)鍵的一點(diǎn)就是要了解Hibernate的核心接口。Hibernate接口位于業(yè)務(wù)層和持久化層,
          如圖1所示。

            

            圖1 Hibernate核心接口的層次架構(gòu)關(guān)系

            Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開發(fā)中都會(huì)用到。通過這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五的核心接口分別加以介紹。

            ·Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSesion對(duì)象稱為用戶session。

            ·SessionFactory接口:SessionFactroy接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫時(shí),可以為每個(gè)數(shù)據(jù)庫指定一個(gè)SessionFactory。

            ·Configuration接口:Configuration接口負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate的啟動(dòng)的過程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對(duì)象。

            ·Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,可發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。

            ·Query和Criteria接口:Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達(dá)方式。

          posted on 2007-09-14 23:11 EricWong 閱讀(785) 評(píng)論(2)  編輯  收藏

          評(píng)論:
          # re: Hibernate核心接口簡(jiǎn)介 2007-09-15 09:23 | 千里冰封
          不過學(xué)習(xí)了EJB以后,就可以不學(xué)hibernate了  回復(fù)  更多評(píng)論
            
          # re: Hibernate核心接口簡(jiǎn)介[未登錄] 2007-09-16 11:25 | Samuel
          上面的朋友說應(yīng)該就是JPA。感覺到他就是參照Hibernate等其他ORM而產(chǎn)生的。  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 交城县| 永修县| 石棉县| 武乡县| 万州区| 秦皇岛市| 余姚市| 永善县| 卢龙县| 菏泽市| 安阳市| 盐津县| 甘孜县| 潞城市| 长乐市| 肥东县| 嵊州市| 秦皇岛市| 宁化县| 罗山县| 临沂市| 新昌县| 墨江| 梓潼县| 东乌| 北流市| 盱眙县| 瓦房店市| 桑日县| 大洼县| 措勤县| 东宁县| 大足县| 门头沟区| 大方县| 嘉义县| 明光市| 邻水| 安多县| 新竹市| 晋中市|