主题 : 一个继承自CmsMemberAction前台action报LazyInitializationException
级别: 白丁
UID: 8762
积分:2 加为好友
威望: 0 精华: 0
主题:0 回复:2
注册时间:2010-07-07
在线时长:0
1#   发表于:2011-02-23 10:25:25  IP:210.149.*.*
Entity关系是这样的: 一个Student 一对一关联CmsMember,Cmsber关联 Member,Member关联User。
我在action里通过业务逻辑层获取Student的List,然后在显示层展示user List的realName时报如下错误。但是我在后台继承自JeeCoreAction用同样业务逻辑的代码,却不会报错。
我们已经采用了osiv的机制,为什么会有LIE错误,是我哪里设置得不对还是怎么?
这个问题已经困扰我4天多了,在这段时间我看了很多网上的解答,都没有找到相关解决方案,急切盼望解答,谢谢。
我所用的jeecms版本是2.4。

 ERROR o.h.LazyInitializationException - could not initialize proxy - no Session
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:86) [hibernate-core-3.3.1.jar:3.3.1.GA]
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140) [hibernate-core-3.3.1.jar:3.3.1.GA]
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190) [hibernate-core-3.3.1.jar:3.3.1.GA]
at com.jeecms.core.entity.Member_$$_javassist_49.getUser(Member_$$_javassist_49.java) [Member.class:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.6.0_07]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [na:1.6.0_07]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [na:1.6.0_07]
at java.lang.reflect.Method.invoke(Unknown Source) [na:1.6.0_07]
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:840) [freemarker-2.3.15.jar:2.3.15]
at freemarker.ext.beans.BeanModel.invokeThroughDescriptor(BeanModel.java:276) [freemarker-2.3.15.jar:2.3.15]
at freemarker.ext.beans.BeanModel.get(BeanModel.java:183) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Dot._getAsTemplateModel(Dot.java:76) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Dot._getAsTemplateModel(Dot.java:74) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.ParentheticalExpression._getAsTemplateModel(ParentheticalExpression.java:75) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.StringBuiltins$evalBI.calculateResult(StringBuiltins.java:174) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.ParentheticalExpression._getAsTemplateModel(ParentheticalExpression.java:75) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.ExistsExpression._getAsTemplateModel(ExistsExpression.java:71) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Expression.isTrue(Expression.java:138) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.IfBlock.accept(IfBlock.java:80) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.IfBlock.accept(IfBlock.java:82) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.MixedContent.accept(MixedContent.java:92) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:416) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.MixedContent.accept(MixedContent.java:92) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:416) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.MixedContent.accept(MixedContent.java:92) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Macro$Context.runMacro(Macro.java:168) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:602) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:106) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.MixedContent.accept(MixedContent.java:92) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.visit(Environment.java:209) [freemarker-2.3.15.jar:2.3.15]
at freemarker.core.Environment.process(Environment.java:189) [freemarker-2.3.15.jar:2.3.15]
at freemarker.template.Template.process(Template.java:237) [freemarker-2.3.15.jar:2.3.15]
at org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:187) [struts-core-2.1.6.jar:na]
at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) [struts-core-2.1.6.jar:na]
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249) [xwork-2.1.2.jar:na]
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) [struts-core-2.1.6.jar:na]
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na]
at com.jeecms.common.struts2.interceptor.UrlInterceptor.doIntercept(UrlInterceptor.java:91) [UrlInterceptor.class:na]
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na]
at com.jeecms.core.web.CookieIdentityInterceptor.doIntercept(CookieIdentityInterceptor.java:59) [CookieIdentityInterceptor.class:na]
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na]
at com.jeecms.common.struts2.interceptor.DomainNameInterceptor.doIntercept(DomainNameInterceptor.java:24) [DomainNameInterceptor.class:na]
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) [xwork-2.1.2.jar:na]
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na]
at com.jeecms.common.struts2.interceptor.ProcessingStartInterceptor.intercept(ProcessingStartInterceptor.java:32) [ProcessingStartInterceptor.class:na]
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) [xwork-2.1.2.jar:na]
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) [struts-core-2.1.6.jar:na]
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:532) [struts-core-2.1.6.jar:na]
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) [struts-core-2.1.6.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.26]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.26]
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) [spring-orm-2.5.6.jar:2.5.6]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) [spring-web-2.5.6.jar:2.5.6]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [catalina.jar:6.0.26]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:6.0.26]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) [catalina.jar:6.0.26]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [catalina.jar:6.0.26]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [catalina.jar:6.0.26]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [catalina.jar:6.0.26]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [catalina.jar:6.0.26]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) [catalina.jar:6.0.26]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) [tomcat-coyote.jar:6.0.26]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) [tomcat-coyote.jar:6.0.26]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) [tomcat-coyote.jar:6.0.26]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_07]
级别: 白丁
UID: 8762
积分:2 加为好友
威望: 0 精华: 0
主题:0 回复:2
注册时间:2010-07-07
在线时长:0
2#   发表于:2011-02-23 10:29:04  IP:210.149.*.*
所有这个Action里的 所有 lazy="true“的entity都会报这个错误。
级别: 童生
UID: 10739
积分:3 加为好友
威望: 0 精华: 0
主题:0 回复:3
注册时间:2010-09-08
在线时长:0
3#   发表于:2011-02-23 10:51:39  IP:59.166.*.*
这个。。。涉及到编写代码的不在技术支持范围之内
级别: 白丁
UID: 8762
积分:2 加为好友
威望: 0 精华: 0
主题:0 回复:2
注册时间:2010-07-07
在线时长:0
4#   发表于:2011-02-23 10:56:23  IP:210.149.*.*
能请技术人员帮忙看一下吗?真的困扰太久了。
只要我们的域名批了下来,一定购买授权的,但是这个问题困扰使产品一直无法交付给客户。
级别: 童生
UID: 10739
积分:3 加为好友
威望: 0 精华: 0
主题:0 回复:3
注册时间:2010-09-08
在线时长:0
5#   发表于:2011-02-23 11:11:14  IP:59.166.*.*
您可以购买我们的二次开发技术支持,我们有专门的技术人员给您提供技术支持。版主是负责回复系统安装使用方面的问题的。
级别: 白丁
UID: 8762
积分:2 加为好友
威望: 0 精华: 0
主题:0 回复:2
注册时间:2010-07-07
在线时长:0
6#   发表于:2011-02-23 12:28:22  IP:210.149.*.*
我把log置到debug级别的时候发现问题所在了。
不是因为hibernate session关闭引起的,而是之前有一个通过hibernate提交访问产生了异常,导致后面hibbernate报了这样一个LIE错误,把之前的一场解决之后就没有LIE异常了。
我把log置到debug级别对于bug跟踪果然有帮助。
1 共1页