推荐一个学习Java的小众网站:https://www.javazhiyin.com/

在SSH整合项目中出现了如下错误信息:

org.hibernate.LazyInitializationException:could not initialize proxy - no Session

org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:149)

org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:195)

org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)

could not initialize proxy - no Session——翻译为无法初始化没有会话的代理对象

出现该错误的原因是Hibernate使用sessionFactory来管理session,我们每进行一次数据库操作时都会新建一个session对象,当我们操作完成后,hibernate就会在dao层立即关闭该session。所以当我们操作类中另一个类的具体属性时,因为session已经关闭,就会报错。

这是Hibernate的懒加载策略,因为每一次查询我们并不会使用到查询对象关联的所有对象,所有Hibernate在查询数据库时并不会把类关联的对象统一查出来。

既然知道了错误的原因,就很好解决了。

第一种办法:

最直接的办法就是把Hibernate的懒加载机制关闭,方法:

在映射文件中多对一映射处写 : azy="false"

但是这种办法不推荐,取消懒加载之后每次查询用不用得到的对象都要加载出来,很影响效率。

第二种办法:

不要Hibernate去管理session,而是将session交给servlet filter来管理,每当接收一个请求后就会开启一个session,只有当响应结束后才会关闭。

具体做法:

在web.xml中配置:

 <filter-name>hibernateFilter</filter-name>   <filter-class>  org.springframework.orm.hibernate4.support.OpenSessionInViewFilter </filter-class>   </filter   <filter-mapping>   <filter-name>hibernateFilter</filter-name>   <url-pattern>/*</url-pattern>   </filter-mapping>

这样就解决了could not initialize proxy - no Session错误,记录下来,避免再错。

安利一个,关注后端技术精选,号内回复“学习资料”,领取100套小程序源码+小程序开发视频和Java经典书籍电子版!

错误记录(八)could not initialize proxy - no Session相关推荐

  1. Hibernate 异常org.hibernate.LazyInitializationException: could not initialize proxy - no Session

    最近代写毕业设计中小网站,SSH架构,三年没搞过这个,忘记了,今天遇到这个问题就记录下: 错误页面提示 could not initialize proxy - no Session 控制台 org. ...

  2. hibernate4 could not initialize proxy - no Session

    在编写hibernate4的相关代码的时候,出现异常 org.hibernate.LazyInitializationException: could not initialize proxy - n ...

  3. 解决Hibernate:could not initialize proxy - no Session

    /*************************************************************************************************** ...

  4. NHibernate之Could not initialize proxy - no Session Bug

    最近在看一个 叫 泰斗破坏神的项目 里面用到了 NHibernate 这里涉及到了 联表查询 我的映射是在类里面,和网上在XML里的不一样 当我运行时,它会报错  Could not initiali ...

  5. hibernate中报错could not initialize proxy - no Session的解决方法

    hibernate中报错:could not initialize proxy - no Session,怎么解决? 解决方法: 在该hbm文件中的 many-to-one 的最后加上:lazy=&q ...

  6. org.hibernate.LazyInitializationException: could not initialize proxy - no Session

    今天在写jbpm获取流程变量的时候出现了这个异常:org.hibernate.LazyInitializationException: could not initialize proxy - no ...

  7. 【HIbernate异常】could not initialize proxy - no Session (已解决)

    异常信息: org.hibernate.LazyInitializationException: could not initialize proxy - no Session 解决方法: 用 get ...

  8. 解决方案,org.hibernate.LazyInitializationException: could not initialize proxy - no Session

    解决方案,org.hibernate.LazyInitializationException: could not initialize proxy - no Session 参考文章: (1)解决方 ...

  9. 解决: failed to lazily initialize a collection of role: XXX, could not initialize proxy - no Session

    一般出现在Hibernate框架下,实体类中关联着其他实体类(一对多等关系),并且关联对象还是其懒加载fetch = FetchType.LAZY @OneToMany(mappedBy = &quo ...

最新文章

  1. loadrunner中自定义查找并替换函数
  2. Python入门100题 | 第024题
  3. GPS NMEA-0183协议常用数据格式及解析攻略
  4. 1000道Python题库系列分享九(31道)
  5. 计算机系统的组成doc,计算机系统由(组成.doc
  6. visual studio 让代码看起来更舒服
  7. System学习笔记001---WIN10 win10按哪里哪里出现蓝色框
  8. python2和python3共存时,设置默认python为python3
  9. js中的行为委托和无类编程
  10. 用npm发布一个npm包
  11. mysql删除索引_MySQL 索引详解
  12. 32位单片机C语言编程 微盘,32位单片机C语言编程:基于PIC32
  13. mdt 计算机名_配置 MDT 部署共享规则
  14. am调制解调仿真matlab,MATLABAM调制解调系统仿真报告.doc
  15. <<视觉问答>>2021:Found a Reason for me? Weakly-supervised Grounded Visual Question Answering using Capsu
  16. Snappy Ubuntu Core 登陆 Bubblegum-96 单板机
  17. 十首中国现代诗,很美!
  18. TMS320C6678开发笔记---IBL编译与分析2
  19. 软件测试工程师面试如何描述自动化测试是怎么实现的?
  20. ERP开发使用Flex

热门文章

  1. 淘宝可以改名字了?并没有!当初的年少轻狂,现在的不忍直视...
  2. 华为nova5系列正式发布:售价2799元起
  3. 21.55万元起的“电影周边”!现代漫威联名钢铁侠车型开售
  4. 5月21日伦敦见!荣耀20官宣:P30“同款”ToF镜头加持?
  5. 乐视网:对FF与第九城市设立合资公司的计划不知情
  6. 小米首部5G手机正式发布 海外营收将很快超过国内
  7. 关于 Flutter Layout(转载)
  8. 升级php7_PHP 5.6 已结束安全支持,你升级到 PHP 7 系列了吗?
  9. pmp知识点详解-项目大牛整理_PMP项目管理第六章:项目进度管理(5)核心知识点...
  10. python大游戏_玩游戏就能学Python?太炫酷了!