全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法

对这种懒加载问题,最后的做法是利用Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开Hibernate的Session,一直保持这个Session,使得Hibernate的Session的生命周期变长,直到这个请求结束,具体是通过一个Filter来实现的。 那么,如果现在我们想用Hibernate懒加载特性,又想用延长session的生命周期,知道将数据提到页面显示(经过action层),那么我们就得在web.xml文件中增加以下配置:

<!-- 配置Spring的用于解决懒加载问题的过滤器 --> 
 <filter> 
  <filter-name>OpenSessionInViewFilter</filter-name> 
  <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> 
 </filter> 
 <filter-mapping> 
  <filter-name>OpenSessionInViewFilter</filter-name> 
  <url-pattern>*.action</url-pattern> 
 </filter-mapping> 

  注:1)OpenSessionInViewFilter为过滤器名字,*.action表示拦截所有的action,也可以 /*

    2)非 web 页面请求(如定时任务)可以按下面的方式进行处理(Hibernate.initialize(Object proxy) 方法强制加载这样就相当于动态改变为lazy=fals)

/**
 * @Author masl - 2017/9/28 14:22
 * @param setRepaymentId
 * @param initSubs :是否初始化关联表数据
 * @return
 */
@Override
public SetRepayment findSetRepaymentById(Integer setRepaymentId, boolean initSubs) {
  SetRepayment setRepayment = null;
  if (setRepaymentId != null) {
    setRepayment = setRepaymentDao.get(setRepaymentId);
    if (setRepayment != null && initSubs) {
      Hibernate.initialize(setRepayment.getSetIncomes());
    }
    return setRepayment;
  }
  return null;
}

总结

以上所述是小编给大家介绍的hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# hibernate  # 懒加载  # 解决spring boot hibernate 懒加载的问题  # Hibernate懒加载之<class>标签上的lazy  # 浅谈解决Hibernate懒加载的4种方式  # 浅谈hibernate中懒加载禁用操作  # 加载  # 想用  # 小编  # 是在  # 在此  # 给大家  # 就得  # 按下  # 来实现  # 其主要  # 所述  # 给我留言  # 感谢大家  # 疑问请  # 有任何  # 变长  # org  # OpenSessionInViewFilter  # filter  # java 


相关文章: 企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  如何快速查询网站的真实建站时间?  如何设计高效校园网站?  常州企业网站制作公司,全国继续教育网怎么登录?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  学校建站服务器如何选型才能满足性能需求?  如何快速查询域名建站关键信息?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  如何快速搭建高效WAP手机网站吸引移动用户?  C#怎么使用委托和事件 C# delegate与event编程方法  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  盘锦网站制作公司,盘锦大洼有多少5G网站?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  香港服务器选型指南:免备案配置与高效建站方案解析  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何挑选高效建站主机与优质域名?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  建站之星在线客服如何快速接入解答?  平台云上自主建站:模板化设计与智能工具打造高效网站  广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何在自有机房高效搭建专业网站?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  建站主机选购指南与交易推荐:核心配置解析  西安专业网站制作公司有哪些,陕西省建行官方网站?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  如何配置支付宝与微信支付功能?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  如何用PHP快速搭建高效网站?分步指南  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  公司网站设计制作厂家,怎么创建自己的一个网站?  建站之星如何配置系统实现高效建站?  网站制作网站,深圳做网站哪家比较好?  制作营销网站公司,淘特是干什么用的?  建站之星免费模板:自助建站系统与智能响应式一键生成  建站之星与建站宝盒如何选择最佳方案?  如何在橙子建站上传落地页?操作指南详解  宝塔面板如何快速创建新站点?  图册素材网站设计制作软件,图册的导出方式有几种?  详解jQuery停止动画——stop()方法的使用  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  简单实现Android文件上传  建站主机功能解析:服务器选择与快速搭建指南  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  如何在Golang中使用replace替换模块_指定本地或远程路径  完全自定义免费建站平台:主题模板在线生成一站式服务  如何用5美元大硬盘VPS安全高效搭建个人网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。