日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Hibernate數(shù)據(jù)加載方式淺析

Hibernate數(shù)據(jù)加載支持以下幾種方式:

◆即時加載(Immediate Loading)

◆當實體加載完成后,立即加載其關聯(lián)數(shù)據(jù)

◆延遲加載(Lazy Loading)

◆實體加載時,其關聯(lián)數(shù)據(jù)并非馬上獲取,而是當關聯(lián)數(shù)據(jù)第一次被訪問時再進行讀取.

◆預先加載(Eager Loading),預先加載時,實體及其關聯(lián)對象同時讀取,這與即時加載類似,不過實體及其關聯(lián)數(shù)據(jù)是通過一條SQL語句(基于外連接[outer join])同時讀取.

◆批量加載(Batch Loading),對于即時加載與延遲加載,可以采用批量加載方式進行性能上的優(yōu)化

即時加載(Immediate Loading)

配置如下:

 
 
 
  1. "address"    
  2.         table="t_address"    
  3.         inverse="true"    
  4.         cascade="none"    
  5.         sort="unsorted"    
  6.         lazy="false">     
  7.          "user_id">     
  8.              
  9.          class="com.hpjianhua.hibernate.Address"/>     
  10.        

即時Hibernate數(shù)據(jù)加載的基本原理:當宿主實體(關聯(lián)主體)加載時,Hibernate會馬上自動讀取其關聯(lián)的數(shù)據(jù)并完成關聯(lián)屬性的填充.

延遲加載(Lazy Loading)

配置如下:

 
 
 
  1. "address"    
  2.     table="t_address"    
  3.     inverse="true"    
  4.     cascade="none"    
  5.     sort="unsorted"    
  6.     lazy="true">     
  7.      "user_id">     
  8.          
  9.      class="com.hpjianhua.hibernate.Address"/>     
  10.     

預先加載(Eager Loading)

預先Hibernate數(shù)據(jù)加載即通過outer-join完成關聯(lián)數(shù)據(jù)的加載,這樣,通過一條SQL語句即可完成實體及其關聯(lián)數(shù)據(jù)的讀取操作,相對即時讀取的兩條甚至若干條SQL而言,無疑這種機制在性能上能帶來更多的提升.

批量加載(Batch Loading)

批量加載,簡而言之,就是通過批量Hibernate數(shù)據(jù)加載提交多個 限定條件,一次完成多個數(shù)據(jù)的讀取.如對于以下形式的SQL:

Select from User where id=1;

Select from User where id=3;

我們可以整合成一條SQL語句完成同樣的功能:

Select from User where id=1 or id=3;

這就是所謂的批量Hibernate數(shù)據(jù)加載機制,如果使用了批量加載機制,Hibernate在進行數(shù)據(jù)查詢操作前,會自動在當前的Session中尋找是否還有其他同類型的待加載的數(shù)據(jù),如果有,則將其查詢條件合并到當前的select語句中一并提交,這樣,通過一次數(shù)據(jù)庫操作即完成了多個讀取任務.

在實體配置的class節(jié)點中,我們可以通過batch-size參數(shù)打開批量加載機制,并限定每次批量加載的數(shù)量:

一般來說,batch-size應該設定為一個合理的小型數(shù)值(<10).


新聞標題:Hibernate數(shù)據(jù)加載方式淺析
文章鏈接:http://m.5511xx.com/article/djgijde.html