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

来源:互联网 发布:网络叫人 编辑:程序博客网 时间:2024/05/21 15:42

在使用ssh中使用jbpm时,部署了流程定义,并且以设置流程变量applyInfo的方式启动了流程定义:代码如下

Map<String, Object> varMap=new HashMap<String, Object>();
varMap.put("account", applyInfo.getAccount());
//把申请信息作为流程变量放到流程中去
varMap.put("applyInfo", applyInfo);
ProcessInstance processInstance = executionService.startProcessInstanceById(applyInfo.getProcessDefinitionId(), varMap);


然后在另一个方法中通过任务来获得任务所对应的流程实例里的流程变量applyInfo,但是每次查询总是失败,查询的代码如下:


TaskService taskService = processEngine.getTaskService();
//先查询所有任务 
List<Task> taskList = taskService.createTaskQuery().list();

try{
for(Task task : taskList){
//查询任务所对应的流程实例里的流程变量applyInfo
ApplyInfo applyInfo = (ApplyInfo) processEngine.getTaskService().getVariable(task.getId(), "applyInfo");
System.out.println(applyInfo.getProcessDefinitionKey());
}
}catch(Exception e){
e.printStackTrace();
}


错误信息如下:

Hibernate: select variables0_.EXECUTION_ as EXECUTION7_12_1_, variables0_.DBID_ as DBID1_1_, variables0_.KEY_ as KEY4_1_, variables0_.DBID_ as DBID1_13_0_, variables0_.DBVERSION_ as DBVERSION3_13_0_, variables0_.KEY_ as KEY4_13_0_, variables0_.CONVERTER_ as CONVERTER5_13_0_, variables0_.HIST_ as HIST6_13_0_, variables0_.EXECUTION_ as EXECUTION7_13_0_, variables0_.TASK_ as TASK8_13_0_, variables0_.LOB_ as LOB9_13_0_, variables0_.DATE_VALUE_ as DATE10_13_0_, variables0_.DOUBLE_VALUE_ as DOUBLE11_13_0_, variables0_.CLASSNAME_ as CLASSNAME12_13_0_, variables0_.LONG_VALUE_ as LONG13_13_0_, variables0_.STRING_VALUE_ as STRING14_13_0_, variables0_.TEXT_VALUE_ as TEXT15_13_0_, variables0_.CLASS_ as CLASS2_13_0_ from JBPM4_VARIABLE variables0_ where variables0_.EXECUTION_=?
09:27:50,902 ERROR LazyInitializationException:42 - could not initialize proxy - no Session
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:167)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:191)
at ele.domain.ApplyInfo_$$_javassist_23.getProcessDefinitionKey(ApplyInfo_$$_javassist_23.java)
at ele.service.JbpmService.test(JbpmService.java:287)
at ele.service.JbpmService$$FastClassByCGLIB$$a349ac97.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625)
at ele.service.JbpmService$$EnhancerByCGLIB$$752e3dd1.test(<generated>)
at ele.action.TaskAction.test(TaskAction.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
…………

…………


解决办法:


在applyInfo的 hibernate 配置文件中把lazey="false" 添加上,如下图



0 0
原创粉丝点击