新聞中心
本文向大家介紹Hibernate集合類型,可能好多人還不了解Hibernate集合類型,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

成都創(chuàng)新互聯(lián)公司服務項目包括渭南網(wǎng)站建設、渭南網(wǎng)站制作、渭南網(wǎng)頁制作以及渭南網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,渭南網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到渭南省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
延遲加載機制是為了避免一些無謂的性能開銷而提出來的,所謂延遲加載就是當在真正需要數(shù)據(jù)的時候,才真正執(zhí)行數(shù)據(jù)加載操作。在Hibernate中提供了對實體對象的延遲加載以及對集合的延遲加載,另外在Hibernate3中還提供了對屬性的延遲加載。下面我們就分別介紹這些種類的延遲加載的細節(jié)。
Hibernate集合類型的延遲加載
在Hibernate的延遲加載機制中,針對集合類型的應用,意義是最為重大的,因為這有可能使性能得到大幅度的提高,為此Hibernate進行了大量的努力,其中包括對JDK Collection的獨立實現(xiàn),我們在一對多關聯(lián)中,定義的用來容納關聯(lián)對象的Set集合,并不是java.util.Set類型或其子類型,而是net.sf.hibernate.collection.Set類型,通過使用自定義集合類的實現(xiàn),Hibernate實現(xiàn)了集合類型的延遲加載。為了對Hibernate集合類型使用延遲加載,我們必須如下配置我們的實體類的關于關聯(lián)的部分:
name=”com.neusoft.entity.User” table=”user”> - …
name=”addresses” table=”address” lazy=”true” inverse=”true”> column=”user_id”/> class=”com.neusoft.entity.Arrderss”/>
通過將
- 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());
- }
當程序執(zhí)行到第二行時,這時并不會發(fā)起對關聯(lián)數(shù)據(jù)的查詢來加載關聯(lián)數(shù)據(jù),只有運行到第三行時,真正的數(shù)據(jù)讀取操作才會開始,這時Hibernate會根據(jù)緩存中符合條件的數(shù)據(jù)索引,來查找符合條件的實體對象。
網(wǎng)站題目:Hibernate集合類型的延遲加載特性
本文URL:http://www.5511xx.com/article/cdidddi.html


咨詢
建站咨詢
