`

关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) ) [转载]

阅读更多
在使用hibernate进行持久化时,有时需要动态的改变对象的加载,比如在编辑页面里面lazy=true,而在浏览页面lazy=false,这样可以在需要lazy的地方才进行控制。而配置文件中Lazy属性是全局控制的,如何处理呢?
        在配置文件里面可以用lazy=true,在程序里面可以用强制加载的方法Hibernate.initialize(Object proxy) 方法强制加载这样就相当于动态改变为lazy=false。
        但在使用时需要注意的一点是:其中的proxy是持久对象的关联对象属性,比如A实体,你要把A的关联实体B也检出,则要写Hibernate.initialize(a.b)。

转载网址

例子:
// 强制加载
			Hibernate.initialize(user);
			Hibernate.initialize(user.getRole());
			Hibernate.initialize(user.getRole().getFunctions());
分享到:
评论
2 楼 angushj 2008-08-11  
执行上面代码的时候报了一个session已经关闭的错误~

有解决办法吗?
1 楼 wilddonkey 2008-06-18  
我测试的发现即使改成 lazy="true"也会自动加载,反而 去掉这个设置用默认值(默认是true)就不会自动加载了。我用的是3.0,你测试一下有没有 这个问题

相关推荐

    Lazy.Object.Initialize

    在描述"延迟加载类Lazy的使用示例"中,我们可以预期在`Lazy.Object.Initialize.Console`这个项目中包含一个使用`Lazy<T>`的控制台应用程序示例。这个示例可能展示了如何在多线程环境中利用`Lazy<T>`确保安全初始化,...

    图片延迟加载 lazyload

    图片延迟加载(Lazy Load)是一种优化网页性能的技术,主要用于处理大量图片或多媒体资源的加载。在网页设计中,当用户滚动页面时,只有进入视口的图片才会开始加载,而那些还未显示出来的图片则会暂时保持占位符...

    图片延迟加载,lazyload.js使用实例

    图片延迟加载(Lazy Load)是一种优化网页性能的技术,它通过只加载用户当前视口内的图片,而将其他未显示的图片推迟到用户滚动到相应位置时再加载,从而减少了页面初次加载的时间,提升了用户体验。在网页设计中,...

    网页内容延迟加载LazyLoad

    网页内容延迟加载(LazyLoad)是一种优化网页性能的技术,它主要应用于图片、视频或大量文本内容的加载。这种技术的核心思想是,只加载用户当前视口内的内容,当用户滚动页面,即将进入视口的内容才会被加载。这样...

    页面延迟加载JS包 lazyload.js scrollloading.js

    页面延迟加载技术是一种优化网页性能的...综上所述,"lazyload.js"和"scrollloading.js"是实现页面延迟加载的重要工具,它们有助于优化网页性能,提高用户体验,同时也需要开发者根据具体项目需求进行合理配置和优化。

    Hibernate延迟加载以及利用Spring

    Exception in thread "main" org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed ``` - **日志记录**:为了更好地诊断问题,可以使用log4j等工具进行日志...

    图片延迟加载特效,jquery.lazyload.js

    你必须修改 HTML 代码. 在 src 属性中设置展位符图片, demo 页面使用 1x1 像素灰色 GIF 图片.... 这里可以定义特定的 class 以获得需要延迟加载的图片对象. 通过这种方法你可以简单地控制插件绑定.

    集成spring的hibernate懒加载

    当你尝试在Controller层或者视图层访问懒加载的属性时,如果Session已经关闭("no Session..."错误),就会抛出`org.hibernate.LazyInitializationException`。这是因为懒加载的代理对象需要Session来执行数据库查询...

    Lazyload图片延迟加载效果.rar

    标题"Lazyload图片延迟加载效果.rar"指的是这个压缩包包含了一个关于实现懒加载效果的实例。这个实例可能包括了HTML、CSS以及JavaScript代码,用于演示如何在网页中应用懒加载。 描述"Lazyload图片延迟加载效果...

    Hibernate延时加载与lazy机制.doc

    综上,理解并正确使用Hibernate的延迟加载和懒加载机制对于优化应用程序性能至关重要。开发者需要谨慎处理Session的生命周期,确保在合适的时间访问延迟加载的属性,避免引发异常。同时,合理设计实体关系和懒加载...

    hibernate延迟加载解决

    Hibernate 是一款流行的 Java 持久层框架,它支持多种加载策略,包括即时加载和延迟加载。在本文中,我们将重点讨论后者。 ##### 1. 实体对象的延迟加载 **配置方式:** 要在Hibernate中启用实体对象的延迟加载,...

    hibernate 延迟加载深入剖析

    其中,延迟加载(Lazy Loading)是一种非常重要的特性,它可以显著提高应用程序的性能和响应速度。本文将对Hibernate中的延迟加载技术进行深入剖析,帮助读者更好地理解和运用这项技术。 #### 二、基本概念 ##### ...

    Hibernate lazy延迟加载

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

    hibernate 延迟加载.docx

    3. 多对一关联:`lazy="proxy"`(延迟加载)、`lazy="no-proxy"`(无代理延迟加载)或`lazy="false"`(立即加载),默认为`proxy`。 **`load()`与`get()`的区别** 1. **加载方式**:`load()`采用延迟加载,`get()`...

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

    在Java的持久化框架Hibernate中,延迟加载(Lazy Load)是一项重要的优化策略,其核心目标是提高系统性能,减少内存占用,避免不必要的数据库交互。延迟加载允许我们在需要使用数据时才从数据库中加载,而不是在加载...

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

    在 Hibernate 框架中,延迟加载(Lazy Loading)是一种优化数据访问性能的重要技术。它允许我们只在真正需要数据时才从数据库加载,避免一次性加载大量数据导致的内存消耗和性能瓶颈。当我们处理与实体相关的集合...

    延迟加载图片jquery.lazyload.js

    ### 延迟加载图片技术详解:利用jquery.lazyload.js实现高效页面加载 #### 技术背景 在互联网时代,网站或应用中的图片资源占据了大量的数据传输量,尤其是在移动网络环境下,图片的加载速度直接影响了用户体验及...

    Hibernate的延迟加载

    在Hibernate中,集合类型的延迟加载通过使用自定义的集合类实现,如`net.sf.hibernate.collection.Set`,而非标准的`java.util.Set`。这样,Hibernate可以在集合尚未被访问时,避免执行关联的数据加载。 启用集合...

    lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64

    lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64

Global site tag (gtag.js) - Google Analytics