解决懒加载的几种方法
2015-10-27 18:08
323 查看
外键连接的对象若没使用,则为代理状态,在页面上显示会出现懒加载异常
那么,如何解决懒加载呢?有以下几种方法
1)查询时将所关联的对象都查出来,利用fetch关键字
例:String hql = "from Employee e left outer join fetch e.department";
2)查询到基对象后将关联的对象均初始化
例:String hql = "from Employee";
List<Employee> list = getSession().createQuery(hql).list();
for(Employee li:list){
li.getDepartment().getDepartmentName();//调用其方法使其初始化
}
return list;
3)在映射文件里外键类上的lazy设为false
<many-to-one name="department" class="Department" column="_departmentId" lazy=false/>//效率低下,不推荐使用
4)使用openSessionInViewFilter:直到页面加载完了再关session
那么,如何解决懒加载呢?有以下几种方法
1)查询时将所关联的对象都查出来,利用fetch关键字
例:String hql = "from Employee e left outer join fetch e.department";
2)查询到基对象后将关联的对象均初始化
例:String hql = "from Employee";
List<Employee> list = getSession().createQuery(hql).list();
for(Employee li:list){
li.getDepartment().getDepartmentName();//调用其方法使其初始化
}
return list;
3)在映射文件里外键类上的lazy设为false
<many-to-one name="department" class="Department" column="_departmentId" lazy=false/>//效率低下,不推荐使用
4)使用openSessionInViewFilter:直到页面加载完了再关session
相关文章推荐
- 喷墨打印机的四个假故障解决办法
- 您用户网站被黑的原因和解决办法
- SQL Server数据库复制失败的原因及解决方法
- 关于Intype一些小问题的解决办法
- 关于textarea提交的内容无法换行的解决办法
- tableView上面空出20个像素的解决办法
- LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found 解决办法 .
- 硬盘、移动硬盘或U盘的文件系统变成了RAW格式的解决办法
- eclipse修改一下代码,保存就弹一个警告框,解决办法
- VC6编译卡死之解决办法
- Secure CRT 连接自动中断解决办法
- Hibernate懒加载解析
- This function has none of DETERMINISTIC, NO SQL解决办法
- 通过SSH连接虚拟机中的Linux速度慢的解决办法
- mysql登陆密码忘记,解决办法
- 关于Tomcat5.5中EL表达式无效的解决办法
- IOS 简易图片浏览器
- Mysql创建表或外键约束时出现1005错误代码的解决方法
- iOS开发——懒加载
- 延迟加载(懒加载)---LazyLoad