日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FetchType与FetchMode的区别

發(fā)布時(shí)間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FetchType与FetchMode的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用例:

@OneToMany(mappedBy="item",cascade=CascadeType.ALL,fetch=FetchType.EAGER)?

@Fetch(value=FetchMode.SUBSELECT)?

兩者比較:

兩者都是設(shè)定關(guān)聯(lián)對象的加載策略。前者是JPA標(biāo)準(zhǔn)的通用加載策略注解屬性,

后者是Hibernate自有加載策略注解屬性。

FetchType可選值意義與區(qū)別如下:

FetchType.LAZY:?懶加載,在訪問關(guān)聯(lián)對象的時(shí)候加載(即從數(shù)據(jù)庫讀入內(nèi)存)

FetchType.EAGER:立刻加載,在查詢主對象的時(shí)候同時(shí)加載關(guān)聯(lián)對象。

FetchMode可選值意義與區(qū)別如下:

@Fetch(FetchMode.JOIN):?始終立刻加載,使用外連(outer?join)查詢的同時(shí)加載關(guān)聯(lián)對象,忽略FetchType.LAZY設(shè)定。

@Fetch(FetchMode.SELECT)?:默認(rèn)懶加載(除非設(shè)定關(guān)聯(lián)屬性lazy=false),當(dāng)訪問每一個關(guān)聯(lián)對象時(shí)加載該對象,會累計(jì)產(chǎn)生N+1條sql語句

@Fetch(FetchMode.SUBSELECT)??默認(rèn)懶加載(除非設(shè)定關(guān)聯(lián)屬性lazy=false),在訪問第一個關(guān)聯(lián)對象時(shí)加載所有的關(guān)聯(lián)對象。會累計(jì)產(chǎn)生兩條sql語句。且FetchType設(shè)定有效。

轉(zhuǎn)載于:https://www.cnblogs.com/toSeeMyDream/p/4354386.html

總結(jié)

以上是生活随笔為你收集整理的FetchType与FetchMode的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。