您好,登錄后才能下訂單哦!
本篇內容主要講解“Hibernate集合類型的延遲加載特性介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Hibernate集合類型的延遲加載特性介紹”吧!
Hibernate集合類型的延遲加載
在Hibernate的延遲加載機制中,針對集合類型的應用,意義是最為重大的,因為這有可能使性能得到大幅度的提高,為此Hibernate進行了大量的努力,其中包括對JDK Collection的獨立實現,我們在一對多關聯中,定義的用來容納關聯對象的Set集合,并不是java.util.Set類型或其子類型,而是net.sf.hibernate.collection.Set類型,通過使用自定義集合類的實現,Hibernate實現了集合類型的延遲加載。為了對Hibernate集合類型使用延遲加載,我們必須如下配置我們的實體類的關于關聯的部分:
<hibernate-mapping> <class name=”com.neusoft.entity.User” table=”user”> … <set name=”addresses” table=”address” lazy=”true” inverse=”true”> <key column=”user_id”/> <one-to-many class=”com.neusoft.entity.Arrderss”/> </set> </class> </hibernate-mapping>
通過將<set>元素的lazy屬性設置為true來開啟Hibernate集合類型的延遲加載特性。我們看下面的代碼:
User user=(User)session.load(User.class,”1”); Collection addset=user.getAddresses(); Iterator it=addset.iterator(); while(it.hasNext()){ Address address=(Address)it.next(); System.out.println(address.getAddress()); }
當程序執行到第二行時,這時并不會發起對關聯數據的查詢來加載關聯數據,只有運行到第三行時,真正的數據讀取操作才會開始,這時Hibernate會根據緩存中符合條件的數據索引,來查找符合條件的實體對象。
到此,相信大家對“Hibernate集合類型的延遲加載特性介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。