1、异常描述
org.hibernate.LazyInitializationException:
failed to lazily initialize a collection of role: cn.wang.entity.Clazz.studentSet, no session or session was closed
备注:
此处hibernate版本号:3.6.10.Final
2、示例代码
2-1 实体类
// 学生实体类
public class Student implements Serializable{
private Integer id;
private String name;
private Date birthday;
// 创建关系属性
private Clazz clazz;
// 省略相关代码...
}
// 班级表
public class Clazz implements Serializable{
private Integer id;
private String name;
// 建立关系属性
private Set<Student> studentSet = new HashSet<>();
// 省略部分代码...
2-2 Clazz.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernat

本文主要探讨了在使用Hibernate3.6.10.Final时遇到的LazyInitializationException,该异常通常发生在尝试在Session关闭后初始化延迟加载的集合时。通过提供示例代码和解析错误原因,文章详细介绍了如何通过在Clazz.hbm.xml文件中将<set>标签的lazy属性设置为"false"来关闭延迟加载,从而避免此类异常。同时,作者欢迎读者分享更多解决此类问题的方法和经验。
最低0.47元/天 解锁文章
1285

被折叠的 条评论
为什么被折叠?



