用Spring解决延迟加载的问题:”failed to lazily initialize a collection of role” - weijiguang/OA GitHub Wiki
作者:guloulou 发布:2011-03-07 01:33 分类:巴巴运动网, 环境搭建 阅读:1742 views 抢沙发
最近整理年前的笔记,发现当时困扰了许久的”failed to lazily initialize a collection of role”的问题。是关于JPA延迟加载的。导致错误的原因如下:
@OneToMany(cascade = {CascadeType.REFRESH, CascadeType.REMOVE}, mappedBy = “parent”)
据说,默认是延迟加载的。
当时谷歌到一篇帖子,说了导致此错误的原因,但因为采用的框架不同,并没有找到对应的解决方法,帖子地址如下:
让Spring帮助你在MVC层解决JPA的缓迟加载问题:http://www.uml.org.cn/j2ee/200811142.asp
并不清楚如何在Spring中设置。后来不得不采用非延迟加载的方式声明,先跳过此错误:
@OneToMany(cascade = {CascadeType.REFRESH, CascadeType.REMOVE}, mappedBy = “parent”, fetch = FetchType.EAGER)
但这并不是我想要的结果。后来晚上有空了,详细用google搜索了互联网,终于找到些处理问题的办法,帖子地址:
LazyInitializationException despite of OpenEntityManagerInViewFilter:http://forum.springsource.org/showthread.php?t=28935
这个帖子碰上的错误和我碰上的是同一个问题,后面的跟贴有如下解决方案,在web.xml中配置过滤器:
Spring OpenEntityManagerInViewFilter
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
File: org/hibernate/collection/AbstractPersistentCollection.java Line number: 383 ——————————————————————————– Stacktraces org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.itcast.bean.product.ProductType.childtypes, no session or session was closed org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:250) org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) org.apache.struts2.json.JSONWriter.write(JSONWriter.java:98) org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112) org.apache.struts2.json.JSONResult.execute(JSONResult.java:198) com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) com.sun.grizzly.ContextTask.run(ContextTask.java:69) com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) java.lang.Thread.run(Thread.java:619) org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.itcast.bean.product.ProductType.childtypes, no session or session was closed org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:250) org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425) org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154) org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) org.apache.struts2.json.JSONWriter.write(JSONWriter.java:98) org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112) org.apache.struts2.json.JSONResult.execute(JSONResult.java:198) com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) com.sun.grizzly.ContextTask.run(ContextTask.java:69) com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) java.lang.Thread.run(Thread.java:619) org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.itcast.bean.product.ProductType.childtypes, no session or session was closed org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:383) org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:375) org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:368) org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:111) org.hibernate.collection.PersistentSet.equals(PersistentSet.java:429) java.util.Vector.indexOf(Vector.java:361) java.util.Vector.contains(Vector.java:320) org.apache.struts2.json.JSONWriter.value(JSONWriter.java:113) org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) org.apache.struts2.json.JSONWriter.array(JSONWriter.java:425) org.apache.struts2.json.JSONWriter.process(JSONWriter.java:154) org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) org.apache.struts2.json.JSONWriter.add(JSONWriter.java:336) org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:235) org.apache.struts2.json.JSONWriter.process(JSONWriter.java:164) org.apache.struts2.json.JSONWriter.value(JSONWriter.java:130) org.apache.struts2.json.JSONWriter.write(JSONWriter.java:98) org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112) org.apache.struts2.json.JSONResult.execute(JSONResult.java:198) com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) com.sun.grizzly.ContextTask.run(ContextTask.java:69) com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) java.lang.Thread.run(Thread.java:619) 最后呢,还是要自我批评下,像这类问题,解决了应该及时整理出来。不能因为代码里写了详尽的注释,就不再整理博文了。 本文固定链接: http://www.guloulou.com/?p=2075 | An input force! 该日志由 guloulou 于2011年03月07日发表在 巴巴运动网, 环境搭建 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。 原创文章转载请注明: 用Spring解决延迟加载的问题:”failed to lazily initialize a collection of role” | An input force! 关键字: failed to lazily initialize a collection of role, fetch = FetchType.LAZY, FetchType.EAGER, JPA, MVC, OneToMany, org.hibernate.LazyInitializationException, org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter, Servlet 2.3, Spring OpenEntityManagerInViewFilter, Spring2, 、@OneToOne, 延迟加载, 解决JPA延迟加载, 过滤器 【上一篇】weblogic10.3部署应用提示找不到log4j类错误的处理 【下一篇】另类乱码:Struts2标签输出的中文查看源码时为乱码 您可能还会对这些文章感兴趣! 为啥要应用EJB3,by:黎活明 Struts2+JPA分页整合例子以及Jquery的jgrid测 16-20从实体对象到业务管理bean的抽象和重载 整合Spring3.05和JPA(Hibernate3.6)环境 JPA(Hibernate实现)环境搭建和测试 26_传智播客Spring2.5视频教程_Spring集成的Hi 01_传智播客Spring2.5视频教程_全面阐释Spring及 用Spring解决延迟加载的问题:”failed to lazily initialize a collection of role”:等您坐沙发呢!