最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Hibernate中的多表查詢及抓取策略

 更新時間:2017年02月19日 17:02:45   作者:rodge  
本文主要介紹了Hibernate中的多表查詢及抓取策略,具有很好的參考價值,下面跟著小編一起來看下吧

1.Hibernate中的多表查詢

 1.1SQL中的多表查詢

【交叉連接】

select * from A,B;

【內(nèi)連接】

顯示內(nèi)連接:inner join(inner 可以省略)

Select * from A inner join B on 條件;

隱式內(nèi)連接:

Select * from A,B where 條件;

【外連接】

左外連接:left outer join

Select * from A left outer join B on 條件;

右外連接:right outer join

Select * from A right outer join B on 條件;

1.2Hibernate中的多表連接查詢

【交叉連接】

交叉連接

【內(nèi)連接】

顯示內(nèi)連接 from Customer c inner join c.linkmans

隱式內(nèi)連接

迫切內(nèi)連接from Customer c inner join fetch c.linkmans

【外連接】

左外連接

右外連接

迫切左外連接

2.Hibernate中的抓取策略

2.1 延遲加載lazy

lazy延遲加載: 查詢的時候不發(fā)送sql語句,在使用對象的時候才發(fā)送sql語句查詢

延遲加載氛圍類級別的延遲加載和關(guān)聯(lián)級別的延遲加載

2.1.1類級別的延遲加載

使用延遲加載的方法查詢某個類的時候是否采用的延遲稱為是類級別的延遲。默認值是true。

Customer customer = session.load(Customer.class,1l);// 默認就會采用延遲加載,這種稱為是類級別的延遲。 

類級別延遲加載失效:

* final修飾這個類,不能產(chǎn)生代理類,延遲加載就會失效。

* 在<class>上配置lazy=”false”

2.1.2關(guān)聯(lián)級別的延遲加載

查詢到某個對象以后,獲得其關(guān)聯(lián)的對象。查詢其關(guān)聯(lián)對象的時候是否采用的延遲。稱為是關(guān)聯(lián)級別的延遲。

Customer c = session.get(Customer.class,1l);
c.getLinkMans(); // 查詢關(guān)聯(lián)對象的時候,是否采用延遲加載。

關(guān)聯(lián)級別的延遲往往會與抓取策略一起使用,優(yōu)化程序。(關(guān)聯(lián)級別的延遲在<set>或者是<many-to-one>標簽上的延遲加載)

2.2抓取策略

抓取策略指的是查找到某個對象后,抓取其關(guān)聯(lián)的對象的時候采用的策略。抓取策略就是在關(guān)聯(lián)對象的配置上(<set>和<many-to-one>)配置fetch屬性。

2.2.1 在set上配置的lazy和fetch

fetch:抓取策略,控制SQL語句的發(fā)送的格式。

    * select    :默認值。發(fā)送一條select語句查詢關(guān)聯(lián)對象。

    * join  :發(fā)送一條迫切左外連接查詢關(guān)聯(lián)對象。

    * subselect :發(fā)送一條子查詢查詢關(guān)聯(lián)對象。

lazy:延遲加載,控制SQL語句的發(fā)送的時候。

    * true  :默認值。采用延遲加載。

    * false :不采用延遲加載。

    * extra :及其懶惰。

2.2.2 在many-to-one上配置的lazy和fetch

fetch:抓取策略,控制SQL語句的發(fā)送的格式。

    * select    :默認值.發(fā)送一條select語句查詢關(guān)聯(lián)對象。

    * join  :發(fā)送一條迫切左外連接查詢關(guān)聯(lián)對象。

lazy:延遲加載,控制SQL的發(fā)送的時機。

    * proxy :默認值。是否采用延遲,需要由另一方類上的延遲加載來決定。

    * false :不采用延遲加載。

    * no-proxy:

2.2.3 批量抓取

  批量抓取:查詢了多個客戶的時候,查詢多個客戶下的所有聯(lián)系人。

  在Customer.hbm.xml中<set>上配置batch-size=”n”

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • 面試突擊之跨域問題的解決方案詳解

    面試突擊之跨域問題的解決方案詳解

    跨域問題本質(zhì)是瀏覽器的一種保護機制,它的初衷是為了保證用戶的安全,防止惡意網(wǎng)站竊取數(shù)據(jù)。那怎么解決這個問題呢?接下來我們一起來看
    2022-09-09
  • java獲取鼠標在屏幕上坐標的方法

    java獲取鼠標在屏幕上坐標的方法

    本文介紹的是如何用java獲取鼠標在屏幕上的坐標,這個功能其實沒什么難度可言,在這里分享給大家,是因為有時候我們需要這個工具,Java作為跨平臺語言的優(yōu)勢在這個軟件就可以體現(xiàn)出來,不需修改就可以在windows、mac、Linux上使用這個軟件。下面來一起看看詳細的介紹吧。
    2016-12-12
  • 使用Java實現(xiàn)簽字功能的示例代碼

    使用Java實現(xiàn)簽字功能的示例代碼

    這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)簽字功能,同時支持將簽字圖像保存為PNG格式和將簽字添加到PDF文檔中,感興趣的可以了解下
    2024-02-02
  • 解決SpringBoot跨域的三種方式

    解決SpringBoot跨域的三種方式

    前后端分離是目前的趨勢,解決跨域問題也是老生常談的話題了,我們了解一下什么是域和跨域。域:協(xié)議 + 域名 + 端口;三者完全相同則為同域,反之有其一不同均為不同域??缬蛘埱螅寒斍啊景l(fā)起請求】的域和【請求指向】的域?qū)儆诓煌驎r,該次請求稱之為跨域請求
    2021-06-06
  • springboot+RabbitMQ+InfluxDB+Grafara監(jiān)控實踐

    springboot+RabbitMQ+InfluxDB+Grafara監(jiān)控實踐

    這篇文章主要介紹了springboot+RabbitMQ+InfluxDB+Grafara監(jiān)控實踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Java Spring AOP之PointCut案例詳解

    Java Spring AOP之PointCut案例詳解

    這篇文章主要介紹了Java Spring AOP之PointCut案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Java返回分頁結(jié)果集的封裝代碼實例

    Java返回分頁結(jié)果集的封裝代碼實例

    這篇文章主要介紹了java返回分頁結(jié)果集的封裝代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 記一次線程爆滿導(dǎo)致服務(wù)器崩潰的問題排查及解決

    記一次線程爆滿導(dǎo)致服務(wù)器崩潰的問題排查及解決

    這篇文章主要介紹了記一次線程爆滿導(dǎo)致服務(wù)器崩潰的問題排查及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java結(jié)構(gòu)型設(shè)計模式之橋接模式詳細講解

    Java結(jié)構(gòu)型設(shè)計模式之橋接模式詳細講解

    橋接,顧名思義,就是用來連接兩個部分,使得兩個部分可以互相通訊。橋接模式將系統(tǒng)的抽象部分與實現(xiàn)部分分離解耦,使他們可以獨立的變化。本文通過示例詳細介紹了橋接模式的原理與使用,需要的可以參考一下
    2022-09-09
  • Java中的WeakHashMap源碼分析

    Java中的WeakHashMap源碼分析

    這篇文章主要介紹了Java中的WeakHashMap源碼分析,WeakHashMap可能平時使用的頻率并不高,但是你可能聽過WeakHashMap會進行自動回收吧,下面就對其原理進行分析,需要的朋友可以參考下
    2023-09-09

最新評論

喀什市| 昌邑市| 萨嘎县| 韶关市| 淮阳县| 临漳县| 来安县| 乌恰县| 卢湾区| 枣强县| 禄劝| 贞丰县| 安龙县| 揭阳市| 融水| 巩留县| 曲周县| 周至县| 宜城市| 宜阳县| 鄄城县| 峡江县| 都江堰市| 开化县| 固阳县| 邵东县| 青龙| 邓州市| 彭水| 柳林县| 郯城县| 汾西县| 景泰县| 修水县| 山东省| 威宁| 从化市| 莒南县| 广昌县| 九江县| 杭锦后旗|