在会话关闭后,使用session.load检索实体信息时出现异常

时间:2012-05-04 14:31:21

标签: hibernate

Iam在关闭会话后使用load方法加载学生对象iam尝试在hibernate 3.0中打印学生名。但是我得到 LazyInitializationException:无法初始化代理 - 拥有会话已关闭 .i提到了代码snipet

        Session session=HibernateUtil.currentSession();
    Transaction tx=session.beginTransaction();
    Object o1=session.load(Student.class,new Integer(2));
    tx.commit();
    session.close();
           log.info("Student name"+((Student)o1).getSname());

然后我添加了另一个属性lazy =“true”。但是抛出了同样的错误。如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

这是Session.load()方法的原理:它向实体返回一个未初始化的代理(除非实体已经在会话中加载)。如果您需要初始化的Student实例,请使用Session.get()