Hibernate檢索策略

一 檢索策略概念
1 hibernate檢索策略分為兩類
(1)立即查詢:根據(jù)id查詢浓若,調(diào)用get方法,一調(diào)用get方法馬上發(fā)送語句查詢數(shù)據(jù)庫

            //根據(jù)cid=1客戶
            //執(zhí)行g(shù)et方法之后瞪慧,是否發(fā)送sql語句
            //調(diào)用get方法馬上發(fā)送sql語句查詢數(shù)據(jù)庫
            Customer customer = session.get(Customer.class,1);
            System.out.println(customer.getCid());

(2)延遲查詢:根據(jù)id查詢鸟廓,調(diào)用load方法影暴,調(diào)用load方法不會馬上發(fā)送語句查詢數(shù)據(jù)括改,只有得到對象里面的值時候才會發(fā)送語句查詢數(shù)據(jù)庫

            /*
            * 1 調(diào)用load方法之后,不會馬上發(fā)送sql語句
            *   返回對象里面只有id值
            * 2 得到對象里面不是id的而是其他值時候才會發(fā)送語句
            * */
            Customer customer = session.load(Customer.class,1);
            System.out.println(customer.getCid());
            System.out.println(customer.getCustName());

2 延遲查詢分為兩類
(1)類級別延遲

根據(jù)id查詢返回實體類對象,調(diào)用load方法不會馬上發(fā)送語句
(2)關(guān)聯(lián)級別延遲

查詢某個客戶嘱能,在查詢這個客戶的所有聯(lián)系人吝梅,查詢客戶的所有聯(lián)系人的過程是否需要延遲,這個過程稱為關(guān)聯(lián)級別延遲

默認延遲

二 關(guān)聯(lián)級別延遲操作(在映射文件中進行配置實現(xiàn))
1 根據(jù)客戶得到所有聯(lián)系人惹骂,在客戶映射文件中配置

2 在set標(biāo)簽上使用屬性
(1)fetch:值 select (默認)
(2) lazy:值

  • true:延遲 (默認)
默認設(shè)置
  • false:不延遲
false
  • 調(diào)用get之后苏携,發(fā)送兩條sql語句,分別查詢客戶和聯(lián)系人

  • extra:及其延遲

extra
  • 要什么值發(fā)送什么查詢語句

三 批量抓取
1 查詢所有客戶对粪,返回list集合右冻,遍歷list集合,得到每個客戶著拭,得到每個客戶的所有聯(lián)系人

 @Test
    public void testSelect6(){
        Transaction tx = null;
        try {
            Session session= HibernateUtils.getSessionObject();
            tx = session.beginTransaction();
            //查詢客戶
            Criteria criteria= session.createCriteria(Customer.class);
            List<Customer> list = criteria.list();
            //得到每個客戶里面所有聯(lián)系人
            for(Customer customer:list){
                System.out.println(customer.getCid()+":"+customer.getCustName());
                //每個客戶里面的聯(lián)系人
                Set<LinkMan> linkMEN= customer.getSetlinkMan();
                for (LinkMan linkMan:linkMEN){
                    System.out.println(linkMan.getLkm_id()+":"+linkMan.getLkm_name());
                }
            }
            tx.commit();
        }catch (Exception e){
            e.printStackTrace();
            tx.rollback();
        }

    }

2 上面操作代碼纱扭,發(fā)送多條查詢語句,優(yōu)化

優(yōu)化
  • batch-size值,值越大發(fā)送語句越少
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末儡遮,一起剝皮案震驚了整個濱河市乳蛾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鄙币,老刑警劉巖肃叶,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異十嘿,居然都是意外死亡因惭,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門绩衷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹦魔,“玉大人,你說我怎么就攤上這事唇聘“婀茫” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵迟郎,是天一觀的道長剥险。 經(jīng)常有香客問我,道長宪肖,這世上最難降的妖魔是什么表制? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮控乾,結(jié)果婚禮上么介,老公的妹妹穿的比我還像新娘。我一直安慰自己蜕衡,他們只是感情好壤短,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般久脯。 火紅的嫁衣襯著肌膚如雪纳胧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天帘撰,我揣著相機與錄音跑慕,去河邊找鬼。 笑死摧找,一個胖子當(dāng)著我的面吹牛核行,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蹬耘,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼芝雪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了婆赠?” 一聲冷哼從身側(cè)響起绵脯,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎休里,沒想到半個月后蛆挫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡妙黍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年悴侵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拭嫁。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡可免,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出做粤,到底是詐尸還是另有隱情浇借,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布怕品,位于F島的核電站妇垢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏肉康。R本人自食惡果不足惜闯估,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吼和。 院中可真熱鬧涨薪,春花似錦、人聲如沸炫乓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至光督,卻和暖如春阳距,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背结借。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卒茬,地道東北人船老。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像圃酵,于是被迫代替她去往敵國和親柳畔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理郭赐,服務(wù)發(fā)現(xiàn)薪韩,斷路器,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法捌锭,類相關(guān)的語法俘陷,內(nèi)部類的語法,繼承相關(guān)的語法观谦,異常的語法拉盾,線程的語...
    子非魚_t_閱讀 31,639評論 18 399
  • 本文包括:1、Hibernate 的查詢方式2豁状、HQL (Hibernate Query Language) 查詢...
    廖少少閱讀 2,658評論 0 15
  • 檢索策略的概念 hibernate檢索策略分為兩類:(1)立即查詢:根據(jù)id查詢捉偏,調(diào)用get方法,一調(diào)用get方法...
    Seo_sir閱讀 346評論 0 0
  • 課程任務(wù) form表單有什么作用泻红?有哪些常用的input 標(biāo)簽夭禽,分別有什么作用? HTML 表單用于搜集不同類型的...
    饑人谷_Young丶K閱讀 257評論 0 0