`
lmning
  • 浏览: 43737 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

hibernate中lazy属性extra

    博客分类:
  • ssh
阅读更多

Hibernate集合属性的懒加载策略:

在集合属性上,可以配置懒加载策略,取值为:true/false/extra

true:默认取值,它的意思是只有在调用这个集合获取里面的元素对象时,才发出查询语句,加载其
     集合元素的数据
false:取消懒加载特性,即在加载对象的同时,就发出第二条查询语句加载其关联集合的数据
extra:一种比较聪明的懒加载策略,即调用集合的size/contains等方法的时候,hibernate并不会去加载整个集合的数据,而是发出一条聪明的SQL语句,以便获得需要的值,只有在真正需要用到这些集合元素对象数据的时候,才去发出查询语句加载所有对象的数据

 

<set name="children" inverse="true" lazy="extra">
  <key column="pid"></key>
  <one-to-many class="Orgnization"/>
  </set>

分享到:
评论

相关推荐

    Hibernate中文API大全

    (A mapping like this allows you to map extra columns of a many-to-many association table to the composite element class.) 接下来的的例子是从Order到Item的一个多对多的关联关系, 关联属性是 purchaseDate, ...

    Hibernate5实例程序

    通过`@LazyCollection(LazyCollectionOption.EXTRA)`或`@OneToMany(mappedBy = "property", fetch = FetchType.LAZY)`等注解实现懒加载,以提高程序性能,只在真正需要时加载关联数据。 12. **事件监听(Event ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     16.3.3 增强延迟检索(lazy属性为“extra”)  16.3.4 批量延迟检索和批量立即检索(使用batch-size属性)  16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左...

    hibernate-orm-3.2.zip

    通过`@LazyCollection(LazyCollectionOption.EXTRA)`或在映射文件中配置,可以实现关联属性的延迟加载。 九、事件监听器 Hibernate允许自定义事件监听器,对持久化操作(如保存、更新、删除、加载)进行拦截,实现...

    Hibernate延迟加载

    `lazy="true"`会在集合被访问时加载,`lazy="false"`会在加载实体时同时加载集合,而`lazy="extra"`提供更智能的加载策略,推荐在实际应用中使用。 4. 单端关联(One-to-one, many-to-one)的延迟加载:`...

    hibernatejar包

    - **懒加载(Lazy Loading)**: `@LazyCollection(LazyCollectionOption.EXTRA)`可以实现关联对象的懒加载,提高性能。 - **查询(Query)**: `@NamedQuery`和`@NamedNativeQuery`可以预定义SQL或HQL查询,便于...

    hibernate-annotation-3.4.0.GA

    在3.4.0.GA版本中,Hibernate引入了注解支持,使得开发人员能够更方便地在类和属性上直接标注,无需依赖XML配置文件,提高了开发效率。本文将详细探讨Hibernate注解3.4.0.GA版本中的关键概念和用法。 一、实体注解@...

    hibernate.zip

    7. **懒加载与即时加载**: Hibernate提供了懒加载机制,通过`@LazyCollection(LazyCollectionOption.EXTRA)`或`@OneToMany(mappedBy = "...', fetch = FetchType.LAZY)`来实现延迟加载,减少初始加载的数据量。...

    Hibernate懒加载之&lt;class&gt;标签上的lazy

    Hibernate懒加载(Lazy Loading)是一种优化策略,其核心思想是在真正需要使用对象的属性时才去加载它们,而不是在初始化对象时一次性加载所有数据。这有助于减少不必要的数据库交互,提高系统性能。 在Hibernate中...

    hibernate中的注释学习,以及注释帮助

    在Java世界中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式处理数据库操作。在Hibernate中,注释扮演着关键角色,它们简化了配置过程,提高了代码的可读性和可维护性。这篇...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     16.3.3 增强延迟检索(lazy属性为“extra”)  16.3.4 批量延迟检索和批量立即检索(使用batch-size属性)  16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     16.3.3 增强延迟检索(lazy属性为“extra”)  16.3.4 批量延迟检索和批量立即检索(使用batch-size属性)  16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     16.3.3 增强延迟检索(lazy属性为“extra”)  16.3.4 批量延迟检索和批量立即检索(使用batch-size属性)  16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左...

    hibernate的注解形式

    6. **懒加载与即时加载**:`@LazyCollection(LazyCollectionOption.EXTRA)`或`@OneToMany(fetch = FetchType.LAZY)`用于实现懒加载,即只有在真正访问集合时才会加载数据。默认情况下,关联对象会即时加载。 7. **...

    hibernate 延迟加载.docx

    当使用Hibernate的`Session.load()`方法或在映射文件中设置了`lazy="true"`时,Hibernate并不会立即从数据库中获取关联对象的所有数据,而是创建一个代理对象。这个代理对象在需要访问其属性时才会执行实际的数据库...

    hibernate3.0API源文件

    实体类代表数据库中的表,通过`@Entity`注解标记,其属性对应表中的字段,使用`@Id`注解标记主键。例如: ```java @Entity public class User { @Id private Long id; private String name; // getters and ...

    Hibernate一对一,多对一关系源码

    1. **懒加载**:使用`@LazyCollection(LazyCollectionOption.EXTRA)`或在XML中配置`lazy="true"`,避免在初始化对象时加载所有关联数据,提高程序性能。 2. **缓存策略**:利用第二级缓存,如` Ehcache`,减少数据库...

    hibernate延迟加载技术详细解

    在 Hibernate 框架中,延迟加载(Lazy Loading)是一种非常重要的优化技术,它能够有效地减少数据库查询次数,提高应用性能。通常,在多对多或者一对多的关系中,延迟加载能够避免 N+1 查询问题。本文将详细探讨 ...

    Hibernate一对多

    另外,使用`@LazyCollection(LazyCollectionOption.EXTRA)`或`@OneToMany(mappedBy ..., fetch = FetchType.LAZY)`可以实现懒加载,只在需要时加载子对象集合,减少内存消耗。 **六、总结** 理解并熟练掌握...

    hibernate一对多关联映射(双向关联)

    1. 使用`@LazyCollection(LazyCollectionOption.EXTRA)`或在`&lt;set&gt;`标签中添加`lazy="true"`来实现延迟加载,避免加载大量无关数据。 2. 在业务逻辑中合理控制关联对象的修改,确保在保存或更新关联对象时,同时更新...

Global site tag (gtag.js) - Google Analytics