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特性

相关文章:

  • 2021-09-06
  • 2022-12-23
  • 2022-12-23
  • 2021-08-30
  • 2022-12-23
  • 2021-06-20
  • 2021-08-27
猜你喜欢
  • 2021-05-17
  • 2022-12-23
  • 2022-12-23
  • 2021-12-24
  • 2021-10-04
  • 2021-04-27
相关资源
相似解决方案