0 0

hibernate 一对多 选着性 延迟加载的解决方法20

比如有两个查询list的方法
一个需要自动关联一对多
另一个查询的时候不需要关联一对多

这样显然  配置set或者 lazy="false" 都无法达到这样的目的
那么第二种情况当然可以了,但是第一种情况在某些情况会出 session closed异常,因为这个时候 当前session已经被关闭了再去 延迟加载就会出错

如果的lazy="true",特定的情况下  一对多 也就无效 了

我想怎么能再代码里面查询的时候 设置下什么能达到这样的目的
2014年9月02日 15:53

2个答案 按时间排序 按投票排序

0 0

hql 语句里面有强制抓取,left join fetch ,例如
from User as u left join  fetch u.roles 会把用户的roles强制抓取过来!

2014年9月02日 20:04
0 0

用List查询,FetchType.LAZY大多无效.
1.如果你要在JSP上显示关联的对象,可以在WEB.XML上配置OpenSessionInViewFilter
2.如果你要用AJAX的JSON传关联对象,我是直接在传值前调用一次.

2014年9月02日 17:29

相关推荐

    hibernate延迟加载解决

    对于一对多关系或者多对多关系中的集合,延迟加载同样重要。这是因为,如果不使用延迟加载,加载一个实体可能会导致所有相关联的实体都被加载到内存中,从而严重影响性能。 **配置方式:** 要启用集合类型的延迟...

    Hibernate延迟加载以及利用Spring

    在Hibernate中,延迟加载主要用于关联对象的加载,例如一对多或多对多的关系。默认情况下,当Hibernate查询一个实体时,会同时加载与该实体相关的所有关联对象。但在某些场景下,我们可能并不需要立即获取这些关联...

    hibernate 延迟加载深入剖析

    本文将对Hibernate中的延迟加载技术进行深入剖析,帮助读者更好地理解和运用这项技术。 #### 二、基本概念 ##### 2.1 什么是延迟加载? 延迟加载是指在访问关联数据或集合数据时,只有在真正需要使用这些数据时才...

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

    当我们处理与实体相关的集合属性时,如一对多、多对一或多对多关系,延迟加载尤其有用。 在给定的文档中,我们看到一个例子,展示了如何在 Hibernate 中配置一个具有集合属性的实体类 `Person`,以及如何通过映射...

    Hibernate(一对多表操作)

    本篇主要讨论的是Hibernate中的一对多关系映射,以及如何在实际操作中进行配置和使用。 一对多关系指的是一个实体可以与多个其他实体相关联。例如,在用户系统中,一个用户可以有多个订单,这就是典型的一对多关系...

    Hibernate的多对一和一对多操作实例

    - **映射配置**:在`CUSTOMER.hbm.xml`映射文件中,可以看到`<set>`元素用于定义一对多关系,其中`inverse="true"`属性表示反向操作由另一方负责,`lazy="true"`则表示延迟加载,`cascade="all"`意味着当父对象发生...

    Hibernate 注解一对多,多对一

    "Hibernate注解一对多,多对一"是两个常见的关系映射类型,适用于处理实体类之间的复杂关联。 一、一对多关系 在现实世界中,例如一个部门有多个员工,这就是一对多的关系。在Hibernate中,我们可以使用`@...

    hibernate核心,一对多,多对多映射讲解,看了就完全搞明白了

    在本章中,我们将深入探讨Hibernate中的关联映射,包括一对多、多对一以及多对多的关系。这些映射关系对于理解如何在Java应用程序中有效地管理数据库对象至关重要。 首先,我们来解决描述中提到的问题。`...

    hibernate一对多双向

    在探讨“Hibernate一对多双向”这一主题时,我们首先需要理解Hibernate框架以及它在Java开发中的重要性。Hibernate是一个开放源代码的对象关系映射(ORM)框架,它为Java应用程序提供了一种将对象模型与数据库模型相...

    hibernate 一对多

    一、Hibernate一对多关系的配置 1. **配置映射文件**:在Hibernate中,我们通过XML映射文件或注解来定义实体之间的关系。对于一对一或多对一,通常在"多"的一方添加对"一"的引用,而在"一"的一方则可以忽略,因为...

    Flex 与 Hibernate 的延迟加载问题

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

    Hibernate延迟加载

    3. 集合延迟加载:对于一对多(、)和多对一关系,可以设置`lazy="true"`、`lazy="false"`或`lazy="extra"`。`lazy="true"`会在集合被访问时加载,`lazy="false"`会在加载实体时同时加载集合,而`lazy="extra"`提供...

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

    在Hibernate中,一对多、多对一和多对多关系通常可以配置为延时加载。 在JSP中使用Hibernate,开发者可能会遇到以下几种常见的延时加载问题: 1. **空指针异常**:如果没有正确地处理延时加载,当尝试访问未加载的...

    hibernate 一对多测试工程

    【hibernate 一对多测试工程】是一个基于Hibernate框架的示例项目,旨在演示和测试Hibernate在处理一对一和一对多关系映射时的功能和用法。在这个工程中,我们可以通过具体的代码实例深入理解如何配置和操作数据库中...

    Hibernate映射一对多关联关系

    ### Hibernate映射一对多关联关系 #### 知识点概览 - **概念解析**:一对多(One-to-Many)关联关系的概念及其在Hibernate中的实现方式。 - **域模型设计**:创建具有一个实体与多个实体关联的域模型。 - **关系...

    hibernate 延迟加载.docx

    2. 一对多关联:`lazy="true"`(延迟加载)、`lazy="extra"`(增强延迟加载,只获取部分信息)或`lazy="false"`(立即加载),默认为`true`。 3. 多对一关联:`lazy="proxy"`(延迟加载)、`lazy="no-proxy"`(无...

    Hibernate 延迟加载

    - **一对一映射(One-to-One)**:在一对一映射中,可以使用`constrained`属性配合`lazy`属性来实现懒加载。具体而言,当`constrained`属性设置为`true`时,并且`lazy`属性启用,表示该关联将采用懒加载策略。 - **...

    hibernate延迟加载技术详细解

    通常,在多对多或者一对多的关系中,延迟加载能够避免 N+1 查询问题。本文将详细探讨 Hibernate 的各种延迟加载策略及其应用场景。 #### 二、Fetching 策略 Fetching 策略定义了 Hibernate 在执行查询时如何获取...

Global site tag (gtag.js) - Google Analytics