- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
错误及解方案
failed to lazily initialize a collection of role: com.ccy.valueBean.Coustomer.accounts, no session or session was closed
解决方案:
1、设置lazy=false如果是用annotation,则配置如下@OneToMany(???targetEntity = CourseAuthorizationItem.class,???cascade = {CascadeType.PERSIST, CascadeType.MERGE},???mappedBy = course,?fetch=FetchType.EAGER??)将fetch类型设置成直接获取2、就是使用filter,过滤所有的链接如果在使用filter的时候,要配置事务处理,否则会导致session处于只读状态而不能做修改、删除的动作web-appfilterfilter-namehibernateFilter/filter-namefilter-classorg.springframework.orm.hibernate.support.OpenSessionInViewFilter/filter-class/filterfilter-mappingfilter-namehibernateFilter/filter-nameurl-pattern*.do/url-pattern/filter-mapping/web-app
?
?
?
?
failed to lazily initialize a collection of role: XXXXXX, no session or session was closed
例如:failed to lazily initialize a collection of role: com.gtc.wzgl.model.User.roles, no session or session was closed
这个异常大致意思是说在多对一的时候(并且lazy=false),对象的实例失败,多数出现的情况有
1、粗心造成
实例对象类名写错之类的
2、逻辑错误
如之前就已经传递过来一个实体对象,然后调用实体对象的方法时牵涉到1对多的情况,但此时SESSION已经关闭,所以根本无法进行一对多的操作。
3、设计到跨度的问题:
这样打比方有多个实体对象,他们直接或则间接的有关联。比如有4个实体,分别是广告信息、广告、广告问答题、广告商:他们之间的关系为:
广告商 1:n 广告
广告 1:n 广告问答题
广告商 1:n 广告商信息
大家可以看到广告和广告商信息是没有直接关系的。但我要添加广告的时候我就必须将广告商的实体做为条件。那么这么一来广告商信息可能间接的就必须用上。下面看我的操作:
ad(广告),subject(题目)
???? Ad ad = new Ad();???? ad.setAdProd(adform.getAdProd());???? ad.setIndustry(industry);???? ad.setAdPicture(pagefile.getFileName());???? ad.setAdFlack(adform.getAdFlack());???? ad.setAdDv(dvfile.getFileName());???? ad.setAdContent(adform.getAdContent());???? ad.setGray(gray);???? ad.setAdDate(new Date());???? ad.setOnlinetime(new Long(0));
???? //以上为广告的基本信息填写,而重要的是看下面一句,在这里我的思路是subjectFormList是一个动态提交的表单,里面有若干个广告问答题。我将这些问答题变为一个Set,然后作为ad的一个属性。
???? SetSubject subjectset=getSubjectSet(subjectFormList,ad);???? ad.setSubjects(subjectset);
//然后提交,makePersistent是一个封装的方法,用途就是save()啦。addao是一个DAO,里面有ADUS。
addao.makePersistent(ad);
表面上看来很符合逻辑,只要我们在ad的映射里面加上对subject的级联更新就可以完成这项操作。但实际上会发生我们意想不到的问题,来让我们看一下getSubjectSet()的内容:
publ
您可能关注的文档
- B2C平模式农产品电子商务的发展及探索.doc
- 立体几何探索存在性问题.doc
- 2015探索世界与追求真理含答案.doc
- 2016华南理工大学政治理论课随堂练习第4章-答案.doc
- 深化文化制改革 建设社会主义文化强国(下) 课程的考试100分.doc
- 钻井井控术.ppt
- 浅谈科学究纲领方法论思想.pdf
- 第二讲 业技术人员继续教育测试答案.doc
- 新形势下关干部教育培训工作的探索与思考.doc
- 纳税折扣习题.ppt
- 3.3DNA的复制教学设计2023—2024学年高一下学期生物人教版必修2.docx
- 6飞向蓝天的恐龙(教学设计)-2023-2024学年统编版语文四年级下册.docx
- 3.3指数函数 教学渗透生涯教育教案.docx
- 第7课 百家争鸣【教学设计】-【教学评一体化】大单元整体教学.docx
- 2.1 共价键(第1课时 共价键)2023-2024学年高二化学同步精品教学设计(人教版2019选择性必修2).docx
- 人教版数学五年级下册 6.3异分母分数加减法 教案.docx
- 苏教版三上第四单元第7课时 三位数除以一位数(首位不能整除) 教案.docx
- 辽大版 一年级下册心理健康 第八课 做做思维体操-奇妙的想象力|教案.docx
- 25慢性子裁缝和急性子顾客教学设计-2023-2024学年统编版三年级语文下册.docx
- 1.2.3相反数教学设计2024-2025学年人教版数学七年级上册.docx
文档评论(0)