<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    太陽(yáng)雨

    痛并快樂著

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      67 Posts :: 3 Stories :: 33 Comments :: 0 Trackbacks
    本文摘自孫衛(wèi)琴的《精通Hibernate:Java對(duì)象持久化技術(shù)詳情》
          Hibernate有如下5個(gè)核心接口:
    • Configuration接口:該對(duì)象用于配置并且根啟動(dòng)Hibernate。Hibernate應(yīng)用通過Configuration實(shí)例來指定對(duì)象-關(guān)系映射文件的位置或動(dòng)態(tài)配置Hibernate的屬性,然后創(chuàng)建SessionFactory實(shí)例。
    • SessionFactory接口:一個(gè)SessionFactory實(shí)例對(duì)應(yīng)一個(gè)數(shù)據(jù)存儲(chǔ)源,應(yīng)用從SessionFactory中獲得Session實(shí)例。它具有如下特點(diǎn):

                  1)它是線程安全的,這意味著它的同一個(gè)實(shí)例可以被應(yīng)用的各個(gè)線程共享。

                  2)它是重量級(jí)的,這意味著不能隨意創(chuàng)建或銷毀它的實(shí)例。如果應(yīng)用只訪問一個(gè)數(shù)據(jù)庫(kù),只需創(chuàng)建一個(gè)SessionFactory實(shí)例,在應(yīng)用初始化的時(shí)候創(chuàng)建該實(shí)例。如果應(yīng)用同時(shí)訪問多個(gè)數(shù)據(jù)庫(kù),則需要為每個(gè)數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)單獨(dú)的SessionFactory實(shí)例。

                  之所以說SessionFactory是重量級(jí)的,是因?yàn)樗枰粋€(gè)很大的緩存,用來存放預(yù)定義的SQL語(yǔ)句以及映射元數(shù)據(jù)等。用戶還可以為SessionFactory配置一個(gè)緩存插件,這個(gè)緩存插件被稱為Hibernate的第二級(jí)緩存,該緩存用來存放被工作單元讀過的數(shù)據(jù),將來其它工作單元可能會(huì)重用這些數(shù)據(jù),因此這個(gè)緩存中的數(shù)據(jù)能夠被所有工作單元共享,一個(gè)工作單元通常對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)事務(wù)。

    • Session接口:該接口是Hibernate應(yīng)用使用最廣泛的接口。Session也被稱為持久化管理器,提供了和持久化相關(guān)的操作,如添加、更新、刪除、加載和查詢對(duì)象。Session具有一下特點(diǎn):

                 1)不是線程安全的,因此在設(shè)計(jì)軟件架構(gòu)時(shí),應(yīng)該避免多個(gè)線程共享同一個(gè)Session實(shí)例;

                 2)Session實(shí)例是輕量級(jí)的,所謂輕量級(jí),是指它的創(chuàng)建和銷毀不需要消耗太多的資源。這意味著在程序中可以經(jīng)常創(chuàng)建和銷毀Session對(duì)象,例如為每個(gè)客戶請(qǐng)求分配單獨(dú)的Session實(shí)例,或者為每個(gè)工作單元分配單獨(dú)的Session實(shí)例。

                 Session有一個(gè)緩存,被稱為Hibernate的第一級(jí)緩存,它存放被當(dāng)前工作單元加載的對(duì)象。每個(gè)Session實(shí)例都有自己的緩存,這個(gè)Session實(shí)例的緩存,這個(gè)Session實(shí)例的緩存只能被當(dāng)前工作單元訪問。

    •  Transaction:該接口是Hibernate的數(shù)據(jù)庫(kù)事務(wù)接口,它對(duì)底層的事務(wù)接口做了封裝,底層事務(wù)接口包括:JDBC API、JTA(Java Transaction API)、CORBA(Common Object Requet Broker Architecture) API.

                 Hibernate應(yīng)用可通過一致的Transaction接口來聲明事務(wù)邊界,這有助于應(yīng)用在不同環(huán)境或容器中移植。

    •  Query和Criteria接口:它們是Hibernate的查詢接口,用于向數(shù)據(jù)庫(kù)查詢對(duì)象,以及控制執(zhí)行查詢的過程。Query實(shí)例封裝了一個(gè)HQL(Hibernate Query Language)查詢語(yǔ)句,HQL是面向?qū)ο蟮模妙惷邦惖膶傩悦皇潜砻氨淼淖侄蚊riteria接口完全封裝了基于字符串形式的查詢語(yǔ)句,比Query接口更加面向?qū)ο螅珻riteria接口更擅長(zhǎng)于執(zhí)行動(dòng)態(tài)查詢。
    posted on 2008-10-21 14:24 小蟲旺福 閱讀(241) 評(píng)論(0)  編輯  收藏 所屬分類: hibernate相關(guān)
    主站蜘蛛池模板: 日韩在线不卡免费视频一区| 日本免费中文字幕在线看| 亚洲Av无码一区二区二三区| 在线看片无码永久免费aⅴ| 亚洲第一视频在线观看免费| 亚洲精品中文字幕无乱码| 日韩特黄特色大片免费视频| 爽爽爽爽爽爽爽成人免费观看| 亚洲三级视频在线| 国产日产亚洲系列最新| 日本阿v免费费视频完整版| 美女被免费视频网站a| 久久精品国产亚洲77777| 亚洲AV永久无码精品一区二区国产 | 亚洲欧美中文日韩视频| 91在线视频免费91| jizz在线免费播放| 久久精品国产亚洲AV忘忧草18| 久久精品国产精品亚洲人人| 男女免费观看在线爽爽爽视频| 男女一进一出抽搐免费视频| 亚洲欧洲日韩国产一区二区三区| 亚洲综合激情另类专区| 免费观看成人毛片a片2008| 久久免费香蕉视频| 国产精品亚洲精品爽爽| 亚洲精品视频在线观看视频| 亚洲一区二区精品视频| 国内一级一级毛片a免费| 免费无码又爽又刺激高潮视频 | 男男gvh肉在线观看免费| 亚洲第一页中文字幕| 国产l精品国产亚洲区在线观看| 国产精品免费看香蕉| 青青青免费国产在线视频小草| 国产自国产自愉自愉免费24区| 男男gvh肉在线观看免费| 亚洲乱码中文字幕在线| 亚洲一卡2卡3卡4卡国产网站 | 亚洲欧洲日韩国产一区二区三区| 日本久久久久亚洲中字幕|