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

    @OneToMany(mappedBy = "template", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)@SortNatural@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)private SortedSet<ApplicationTemplateAttribute> attributeValues = new TreeSet<ApplicationTemplateAttribute>();

在查询出该实体对象时想使用其关联对象时比如get()等操作,就会报标题错误,主要原因是不在同一会话中,FetchType.LAZY只在实体对象想使用其关联对象时进行才进行查询数据库加载,可是你查询实体对象语句结束后会话就失效了,从而加载不了关联对象

解决方案

  1. 懒加载改为急加载

= FetchType.EAGER

这样当查询实体对象时会自动查询其关联对象,但是既然都用上了懒加载,说明我们项目业务需求有时候是不需要加载这关联对象的,每次都加载不太符合业务需要,性能浪费

  1. 使其在同一会话中查询

查询实体对象算一次查询,又要查询其关联对象又是一次查询,两次查询两个会话,使其在同一会话中,最简单的方法就是给service层中的业务方法加上事务注解,使其会话在方法执行结束后失效

    @Transactional(readOnly = true)@Overridepublic ApplicationTemplate getTemplate(String templateId) {ApplicationTemplate applicationTemplate = this.getApplicationTemplate(templateId);Hibernate.initialize(applicationTemplate.getAttributeValues());return applicationTemplate;}

这个是强制加载该实体对象中的关联对象,只要对象get其关联对象就行

  Hibernate.initialize(applicationTemplate.getAttributeValues())

解决: failed to lazily initialize a collection of role: XXX, could not initialize proxy - no Session相关推荐

  1. hibernate 延迟加载的错误 failed to lazily initialize a collection of role

    这个问题一般出现在一对多的情况下,解决的方法有两种 1.设置lazy=false 如果是用annotation,则配置如下 @OneToMany(    targetEntity = CourseAu ...

  2. org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.ljw

    org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.ljw ...

  3. org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role:no sessi

    <set name="invigilators" table="examInvigilator " cascade="all" laz ...

  4. org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException: failed to lazily i

    数据转换成json数据失败,封装的实体类中有集合字段,在get方法上面加@JSON(serialize=false)注解 @JSON(serialize=false) public Set<Su ...

  5. git解决“failed to push some refs to“问题

    git解决"failed to push some refs to"问题 参考文章: (1)git解决"failed to push some refs to" ...

  6. 解决Failed to load class org.slf4j.impl.StaticLoggerBinder

    解决Failed to load class "org.slf4j.impl.StaticLoggerBinder" 解决办法,两步: 一.在编译路径中添加Log4J的包,比如我一 ...

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

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

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

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

  9. win10 LTSC系统 安装应用商店和纸牌合集,解决从应用商店安装Solitaire Collection纸牌打开空白的问题

    win10 LTSC系统 安装应用商店和纸牌合集,解决从应用商店安装Solitaire Collection纸牌打开空白的问题 参考文章: (1)win10 LTSC系统 安装应用商店和纸牌合集,解决 ...

最新文章

  1. 添加github ssh 公钥
  2. 04_ReplaceBlank
  3. JavaWeb无限级分销结构分析
  4. (转)JVM监控工具介绍
  5. 小汤学编程之JAVA基础day04——流程结构
  6. attodiskbenchmarks(磁盘传输速率检测)_硬盘坏了可以修复吗?电脑硬盘检测?
  7. MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
  8. 《剑指offer》面试题46、47、49
  9. JAVA Thread的中断机制(interrupt)
  10. 一键安装iis php mysql环境_Windows Server服务器环境配置:一键安装IIS+PHP+MySQL环境...
  11. Flash Builder4序列号 注册机
  12. strcmp函数php,php strcmp函数怎么用?
  13. photoshop CS6 安装 coolorus色环
  14. bzoj5294: [Bjoi2018]二进制(线段树)
  15. FMI飞马网【线上直播】京东POP接口自动化测试
  16. 智道分析吊瓜子的营养价值
  17. ティラミス / 龙枪
  18. 海外抖音Tiktok这么火,到底值不值得做?
  19. 欢迎注册和登陆我们的学海灯塔
  20. Python大屏看板最全教程之Pyecharts图表

热门文章

  1. fofa工具下载安装
  2. Chrome“插件英雄榜”
  3. JAVA学习笔记 第三周
  4. gta python解指纹_用Python玩GTA 5—使用OpenCV读取游戏面面
  5. 禁用免费版小红伞的弹窗广告
  6. 【爬虫之路】A站文章围观量B站视频播放量的简单爬虫想法
  7. 一个或多个空格、TAB等分隔符隔开的字符串
  8. html多重判断,多重if函数的使用方法
  9. Python为什么能风靡国内外
  10. 解决IMX6Q网卡AR8035不稳定问题