189 8069 5689

Hibernate集合类型的延迟加载特性

本文向大家介绍Hibernate集合类型,可能好多人还不了解Hibernate集合类型,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

成都创新互联公司服务项目包括渭南网站建设、渭南网站制作、渭南网页制作以及渭南网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,渭南网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到渭南省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节。

Hibernate集合类型的延迟加载

在Hibernate的延迟加载机制中,针对集合类型的应用,意义是最为重大的,因为这有可能使性能得到大幅度的提高,为此Hibernate进行了大量的努力,其中包括对JDK Collection的独立实现,我们在一对多关联中,定义的用来容纳关联对象的Set集合,并不是java.util.Set类型或其子类型,而是net.sf.hibernate.collection.Set类型,通过使用自定义集合类的实现,Hibernate实现了集合类型的延迟加载。为了对Hibernate集合类型使用延迟加载,我们必须如下配置我们的实体类的关于关联的部分:

 
 
 
  1.  
  2.  name=”com.neusoft.entity.User” table=”user”> 
  3. …  
  4.  name=”addresses” table=”address” lazy=”true” inverse=”true”> 
  5.  column=”user_id”/> 
  6.  class=”com.neusoft.entity.Arrderss”/> 
  7.  
  8.  
  9.  

通过将元素的lazy属性设置为true来开启Hibernate集合类型的延迟加载特性。我们看下面的代码:

 
 
 
  1. User user=(User)session.load(User.class,”1”);  
  2. Collection addset=user.getAddresses();  
  3. Iterator it=addset.iterator();  
  4. while(it.hasNext()){  
  5. Address address=(Address)it.next();  
  6. System.out.println(address.getAddress());  

当程序执行到第二行时,这时并不会发起对关联数据的查询来加载关联数据,只有运行到第三行时,真正的数据读取操作才会开始,这时Hibernate会根据缓存中符合条件的数据索引,来查找符合条件的实体对象。


网站题目:Hibernate集合类型的延迟加载特性
当前网址:http://cdxtjz.cn/article/cdidddi.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。