`
javaping2008
  • 浏览: 106448 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

hibernate load方法产生异常解决办法

阅读更多
以前写项目的时候 自己用过hibernate的延时加载 可是产生异常 因为hibernateTemlate执完load()之后会关闭Session 所以如果要取道对象属性产生异常
解决的办法有两种
第一种就是实现HibernateCallback接口 并将实例传入给HibernateTempalte的excute里
public User (final Integer id)
{

User user=(User)hibernateTemplate.excute(
new HibernateCallback(){

public Object doInHibernateException,SQLException{

User user=(User)session.load(User.class,id);
Hibernate.initialize(user);
return user;}
}


)


另一种方法就是修改xml把lazey改为false
User.hbm.xml
<hibernate-mapping>
<class name="onlyfun.caterpillar.User" table="user" lazy="false">
...
</>
分享到:
评论

相关推荐

    hibernate中get和load方法的区别

    在Java的持久化框架Hibernate中,`get`和`load`方法都是用于从数据库中获取对象,但它们之间存在一些重要的区别。理解这些差异对于优化应用程序的性能和避免潜在问题至关重要。 首先,`get`方法是直接从数据库中...

    hibernate get load区别

    ### Hibernate中的Get与Load方法详解 #### 概述 在Hibernate框架中,`get`与`load`方法都是用于从数据库加载实体对象的常用手段。然而,这两种方法在实现细节上有着本质的区别,这些差异主要体现在对缓存的利用、...

    Hibernate的get和load方法的区别

    在Java的持久化框架Hibernate中,`get`和`load`方法都是用于从数据库中获取对象,但它们之间存在一些重要的区别。理解这些差异对于优化应用程序的性能和避免潜在问题至关重要。 首先,让我们来深入了解一下`get`...

    gilead hibernate lazyload例子

    Gilead,全称为Hibernate for Flex,是用于Flex和Hibernate之间的数据绑定工具,它提供了一种在Flex客户端和Hibernate服务端之间通信的方法,使得Flex应用程序可以利用Hibernate的懒加载功能。然而,由于历史原因,...

    Spring+Hibernate StringIndexOutOfBoundsException String index out解决方法

    Hibernate 中 StringIndexOutOfBoundsException 异常解决方法 在使用 Spring 和 Hibernate 进行开发时,可能会遇到 StringIndexOutOfBoundsException 异常,这个异常的出现是由于 Hibernate 的映射文件和数据库中表...

    hibernate常见异常

    Hibernate 常见异常处理 Hibernate 是一个流行的 Java 持久层框架,但是在实际开发中,我们经常会遇到各种异常。...通过了解这些异常的原因和解决方案,我们可以更好地使用 Hibernate,提高开发效率和质量。

    hibernate常用方法集合

    让我们详细了解一下`HibernateSessionFactory`类中的关键方法和其背后的原理。 1. **配置和初始化SessionFactory** `HibernateSessionFactory`类通过`cfg.configure(CONFIG_FILE_LOCATION)`来读取配置文件(默认为...

    hibernate 三种 查询 方式 load与get的区别

    本篇文章将详细解析Hibernate中的三种主要查询方式——HQL(Hibernate Query Language)、Criteria API和Query API,并着重讨论`load()`与`get()`方法的区别。 一、HQL查询 Hibernate Query Language(HQL)是...

    Hibernate查询解决方案

    ### Hibernate查询解决方案详解 #### 一、概述 Hibernate 是一个开放源代码的 ORM(对象关系映射)框架,它提供了从 Java 类到数据库表的映射机制,以及数据的查询和获取方式。Hibernate 的核心功能之一是提供了...

    Hibernate方法总结

    而`load`方法返回的是一个代理对象,即使数据库中没有对应的记录,它也会返回一个空的代理对象,只有当真正访问属性时才会抛出`EntityNotFoundException`异常。因此,当你确定对象一定存在时,可以使用`get`;不确定...

    hibernate N+1问题解决办法

    **标题:“Hibernate N+1问题解决办法”** 在Java开发中,使用Hibernate作为ORM框架时,我们可能会遇到一个性能上的问题,那就是著名的“N+1查询问题”。此问题源于不恰当的数据加载策略,可能导致数据库查询效率...

    Hibernate中get和load方法的区别以及close(),clear()、evict()等的区别

    - `load`方法如果找不到对应的记录,会抛出`org.hibernate.ObjectNotFoundException`异常。这是因为`load`方法假设给定的ID肯定在数据库中存在,它采用延迟加载策略,先返回代理对象,当尝试访问对象属性时才会真正...

    Hibernate 删除出现异常的解决方案.doc

    总之,理解Hibernate的异常信息,结合业务逻辑和对象关系,选择合适的处理方式,是解决这类问题的有效途径。同时,良好的代码设计和规范,以及对框架和工具的深入理解,也能帮助我们更好地预防和处理这类异常。

    Hibernate持久层方法汇总

    本文将详细介绍Hibernate持久层中的一些核心方法,包括`session.load`, `session.find`, `session.iterator`, `session.save`, `session.update`, `session.saveorupdate`。 1. `session.load()`: - `load()`方法...

    hibernate 常见异常

    本文将深入探讨Hibernate常见的异常,以及与之相关的依赖库。 首先,我们看到的`java.lang.NoClassDefFoundError`是一个典型的运行时异常,表示在类加载时找不到对应的类定义。这通常意味着在编译时存在所需的类,...

    Hibernate查询 load与get的区别及其它查询测试

    `load`和`get`方法是Hibernate中用于检索实体的两种主要方式,它们都是从Session接口中调用,但有明显的区别和各自的适用场景。 1. `load`方法: - `load`方法主要用于根据主键加载对象,它返回一个代理对象,而...

    Netbeans 配置 hibernate 的方法

    Netbeans 配置 Hibernate 的方法 Netbeans 是一个功能强大且广泛使用的集成开发环境(IDE),它支持多种编程语言,包括 Java、PHP、Python 等。Hibernate 是一个流行的对象关系映射(ORM)工具,它能够将 Java 对象...

    Hibernate方法的实现

    - **加载(Load)**:通过Session的load()方法,根据ID加载对象。如果对象不存在,会抛出异常。 - **查询(Query)**:使用Criteria API或HQL(Hibernate Query Language)进行查询。例如,使用Session的...

    hibernate常见错误解决方案

    本文将针对几个常见的Hibernate异常进行详细解析,并提供相应的解决策略。 #### 1. **DOM4J DocumentException: Invalid byte 2 of 2-byte UTF-8 sequence** **异常描述:** 当Hibernate尝试解析一个XML配置文件时...

    Hibernate映射导致的几个异常

    标题与描述概述的知识点主要集中在Hibernate映射过程中可能遇到的各种异常情况,这涉及到数据库与对象模型之间的映射问题,以及Hibernate框架在处理这些映射时可能产生的错误。下面将对这些异常进行详细的解释和分析...

Global site tag (gtag.js) - Google Analytics