![](/img/trans.png)
[英]LazyInitializationException in Hibernate : could not initialize proxy - no Session
[英]Hibernate LazyInitializationException: could not initialize proxy - no Session
我在Hibernate中映射了这样的结构(使用XDoclet,因为它是旧项目):
public class Student {
String name;
int age;
School school; //many to one
// ...
}
public class School {
String name;
// ...
}
我想打印学生的学校名称(使用学生对象),如下所示:
System.out.println("School name: " + student.getSchool().getName());
但我得到:
org.hibernate.LazyInitializationException:无法初始化代理-没有会话
我不想更改映射文件(因为我不是这个的作者),那么该问题的其他解决方案是什么?
您如何阅读学生对象?
因为如果您正在从返回之前关闭会话的方法中读取Student
,则访问@Lazy
集合将生成LazyInitializationException
。
我建议您检查会话生命周期。
在关闭会话之前,请确保您的代码调用了Student的accessor方法。 或者如果您使用的是Spring和Transaction,那么它必须在会话处于活动状态的范围内。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.