首页 > 开发 > Java > 正文

阐述hibernate延迟加载背后的原理

2024-07-13 09:52:54
字体:
来源:转载
供稿:网友

本文将阐述hibernate延迟加载背后的原理---动态代理,,需要的朋友可以参考下其中的内容详情。

示例数据表:team(班级)、certificate(身份证)、student(学生)

Team.hbm.xml

br />"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


    lazy ="true" >
        java.lang.String">
           
           
       

       
           
       

        lazy="true" >
           
               
           

           
       

   



Certificate.hbm.xml

br />"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


    lazy="true" >

       
           
           

           

       

       
           
       

                class="edu.dgut.ke.model.Student"
         constrained="true" >

       
   



Student.hbm.xml

br />"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


    lazy="true" >
       
           
           
       

                class="edu.dgut.ke.model.Certificate"
        unique="true"
        column="cardId"
        cascade="all"
        >
       
       
           
       

       
           
       

   


注意:对one-to-one 关系进行延迟加载和其他关系相比稍微有些不同。many-to-one 的延迟加载是在配置文件的class 标签
上设置 lazy="true" ,one-to-many 和 many-to-many 的延迟加载是在 set 标签中设置lazy="true"。而one-to-one 不只要在 classs
标签设置 lazy="true",而且要在one-to-one 标签中设置constrained="true" 。
如果不设置constrained="true",则一对一查询使用默认的预先抓取策略(fetch="join")。

以上就是阐述hibernate延迟加载背后的原理,想必都了解了吧,更多相关内容请继续关注错新技术频道。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表