0

我在关闭会话后使用加载方法加载学生对象我试图在休眠 3.0 中打印学生名称。但我得到LazyInitializationException:无法初始化代理 - 拥有会话已关闭。我提到了代码片段

        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”。但是抛出了同样的错误。如何解决这个问题。

4

1 回答 1

1

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

于 2012-05-04T14:34:59.387 回答