深入研究Hibernate延遲加載技術

 今天我們主要來深索Hibernate延遲加載技術,Hibernate延遲加載技術包括實體對象的延遲加載、集合類型的延遲加載等。
  
  Hibernate延遲加載的對象:
  
  ◆hibernate 2針對實體對象和集合
  
  ◆hibernate 3同時提供了屬性的延遲加載功能。
  
  其中對集合的延遲加載特性意義最爲重大。
  
  實體對象的Hibernate延遲加載:
  
  在hibernate配置文件中的class指定
  
  集合類型的Hibernate延遲加載:
  
  在set中指定lazy=true
  
  這樣只有實際加載與對象相關聯的集合對象的時候,再通過session從數據庫中加載實際的數據集。
  
  Hibernate.initialize方法可以強制Hibernate立即加載關聯的對象集,例如:
  
  Hibernate.initialize(user.getAddress());
  
  集合類型的緩存:
  
  如果爲某個集合類設定了緩存,如
  
  <set
  
  name
  
  =“address”
  
  table
  
  =“t_address”
  
  lazy
  
  =“true”
  
  ……
  
  >
  
  <cache
  
  usage
  
  =“read-only”/>
  
  <key


  
  column
  
  =“user_id”
  
  />
  
  <one-to-many
  
  class
  
  =“cn.blogjava.TAddress”
  
  />
  
  </set>
  
  Hibernate對集合類型進行緩存的時候,分兩部分保存。首先是這個集合中所有實體的id列表,其次纔是各個實體對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章