`
minwh
  • 浏览: 12505 次
社区版块
存档分类
最新评论

hibernate的属性延迟加载

    博客分类:
  • JAVA
阅读更多

annotation方式配置hibernate时默认延迟加载对象,这在需要捕捉抛出的异常时会遇到问题,例如:

//...
Integer id=5;
try {
   User user = userManager.get(id);
   return user.getId();
}
catch (ObjectNotFoundException e) {
//...
}

 

在id为5的用户不存在时应该会跳到ObjectNotFoundException异常处理代码,但是延迟加载时user被做成一个中间代理对象,其id为5,其它属性则延迟加载,由于没有访问user的属性(如name等),将不会抛出异常直到第一次访问user的属性……

设置@Proxy(lazy = false)后就不会出现这类问题。


详细介绍:Hibernate延迟加载机制

 

1
0
分享到:
评论

相关推荐

    hibernate属性延时加载如何操作、相应的jar包

    hibernate3的属性延时加载是个很有意义的东西,它能让你把你不想加载到内存里的东西在查询的时候排除。 我相信来下载这个东西的人都已经很了解这一块的知识了,只是配不对那个类增强器才来下载我这个文件。 这些...

    Hibernate集合属性的延迟加载.doc

    在 Hibernate 框架中,延迟加载...总的来说,Hibernate 的集合属性延迟加载是一个强大的工具,可以有效减少内存占用和提高应用程序性能。正确理解和使用延迟加载,可以帮助我们构建高效、可扩展的 Java 应用程序。

    hibernate 延迟加载深入剖析

    ### Hibernate延迟加载深入剖析 #### 一、概述 在现代软件开发中,特别是与数据库交互的应用场景下,Hibernate作为一款流行的Java持久层框架,提供了多种高效处理数据的技术。其中,延迟加载(Lazy Loading)是一...

    Hibernate 延迟加载剖析与代理模式应用

    总的来说,Hibernate的延迟加载是通过在映射文件中配置延迟加载策略,以及利用Java动态代理技术,实现对集合属性的按需加载。它降低了系统的内存压力,提高了数据库操作的效率,是Hibernate优化性能的重要手段之一。...

    Hibernate的延迟加载

    在Hibernate中启用实体对象的延迟加载,需在实体的映射配置文件中设置`lazy="true"`属性。例如: ```xml <hibernate-mapping> ... </hibernate-mapping> ``` 当执行`session.load()`方法时,如`User user = ...

    Hibernate延迟加载以及利用Spring

    - `lazy="proxy"`:表示Hibernate将为`Dept`实体创建一个代理对象,只有当真正访问到`Dept`对象的相关属性时,Hibernate才会发起数据库查询,加载实际的`Dept`对象。 - `fetch="select"`:默认值,表示在查询`Emp`时...

    hibernate延迟加载解决

    要在Hibernate中启用实体对象的延迟加载,需要在映射文件中为相应的类添加`lazy="true"`属性,例如: ```xml ... ``` **工作原理:** 当执行如下代码时: ```java User user = (User) session.load(User....

    Flex 与 Hibernate 的延迟加载问题

    在开发Flex与Hibernate集成的应用时,延迟加载(Lazy Loading)是一个常见的挑战,因为Flex客户端无法直接理解和处理Hibernate的延迟加载机制。延迟加载是一种优化策略,它允许关联的对象在真正需要时才被加载,而...

    Hibernate lazy延迟加载

    在Java的持久化框架Hibernate中,懒加载(Lazy Loading)是一种重要的优化策略,它的核心思想是“延迟加载”或“按需加载”。默认情况下,当一个实体被加载时,并不会立即加载其关联的对象或集合,而是在真正需要...

    【北大青鸟内部教程】jsp中关于Hibernate延时加载的问题

    在处理大数据量或者复杂数据结构时,Hibernate引入了延时加载(Lazy Loading)机制,以提高应用程序的性能。本文将深入探讨在JSP(JavaServer Pages)环境中,如何理解和应对Hibernate的延时加载问题。 首先,我们...

    Hibernate延时加载与lazy机制.doc

    Hibernate的延迟加载(Lazy Loading)和懒加载机制(Lazy Initialization)是优化ORM框架性能的重要策略。这个机制的主要目的是提高程序的效率,减少不必要的数据库交互,只在真正需要数据时才去加载它们。以下是对...

    Hibernate延迟加载

    在Hibernate中,延迟加载分为三种主要类型:实体对象的延迟加载、集合类型的延迟加载以及属性延迟加载(在Hibernate 3及以上版本支持)。 ### 实体对象的延迟加载 在Hibernate映射文件中,可以通过将`<class>`标签...

    Hibernate延迟加载介绍.doc

    本文将深入探讨Hibernate中的延迟加载,包括实体对象、集合类型和属性的延迟加载。 一、实体对象的延迟加载 在Hibernate中,实体对象的延迟加载可以通过在映射文件中设置`lazy="true"`来启用。例如,对于名为`...

    属性延迟加载

    属性延迟加载是Hibernate框架中的一种优化策略,旨在提高数据加载效率,减少内存占用,特别是对于包含大字段(如长文本)的实体属性。在Hibernate3版本中,通过`property`节点的`lazy`属性,我们可以指定某个属性...

    hibernate延迟加载

    在 Hibernate 中,延迟加载支持对实体对象、集合以及属性级别的延迟加载。 #### 三、实体对象的延迟加载 实体对象的延迟加载是 Hibernate 中最基础也是最常用的延迟加载方式之一。要启用实体对象的延迟加载,需要...

    Hibernate之数据加载方式

    3. **按需加载(On-Demand Loading)**:懒加载的一种特例,只在调用特定方法或属性时加载关联数据。 4. **集合加载策略**:对于一对多或多对多的关系,可以设置不同的集合加载策略,如`FetchType.LAZY`和`...

    Hibernate 延迟加载

    ### Hibernate延迟加载详解 #### 什么是Hibernate延迟加载? 在探讨Hibernate延迟加载之前,我们先简要回顾一下Hibernate框架。Hibernate是一种流行的Java持久层框架,它提供了对象关系映射(ORM)的功能,允许...

Global site tag (gtag.js) - Google Analytics