• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
肥肥大超
博客园    首页    新随笔    联系   管理    订阅  订阅

Hibernat中的lazy

    lazy(懒加载)即只有真正使用该对象时,才会创建。而在Hibernate中指真正使用时才会发出sql语句(注意:Hibernate发出的sql语句在没有提交事务前存在session对象的一个属性中)

    在Hibernate中的lazy策略:

(1)在实体的配置文件中的<class>标签上的lazy特性只对普通属性起作用,对其关联对象不起作用。lazy属性的取值true(默认),false。

<class name="Dept" table="t_dept" lazy="true">

<!--
<class name="Dept" table="t_dept" lazy="false">
-->

 

 

(2)Hibernate在集合上的lazy策略,可以取值: true、 false、 extra(可以根需要加载所需要的,不会全部都加载) 注:默认值为:true

在实际开发中多会设置lazy=extra,lazy=extra与lazy=true的效果相同,但是lazy=extra会根据实际情况发出相对智能的SQL语句,所以在效率上会比较好。

 

(3)Hibernate在单端关联<one-to-one>、<many-to-one>上的lazy策略,可以取值: false ,proxy ,noproxy(自己定义加载方式比较发在) 默认值为: proxy(即:采用延时加载)

注意:<class>标签上的lazy不会影响到单端关联上的lazy特性

勇气,信念,坚持
posted @ 2013-05-26 13:51  sheroHuo  阅读(159)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3