事務影響懶加載 no session or session was closed

公司有個跑批,原先的事務配置刪了,致使訪問數據庫拿到數據後就關了sessionjava

衆所周知,懶加載就是用到該數據時纔去數據庫加載,但session都關了,還談何加載,並報了下面這個錯spring

 

2019-05-28 09:45:00,191 cn.com.sinosoft.job.StaffWelfareInsuredJob.doJob(StaffWelfareInsuredJob.java:98) INFO   -員工福利承保任務:進行承保操做。訂單號爲:B0001552097
2019-05-28 09:45:00,191 org.hibernate.LazyInitializationException.<init>(LazyInitializationException.java:42) ERROR  -failed to lazily initialize a collection of role: cn.com.sinosoft.iecs.online.domain.sale.GeStaffPolicy.geStaffInfos, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: cn.com.sinosoft.iecs.online.domain.sale.GeStaffPolicy.geStaffInfos, no session or session was closed
	at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:383)
	at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:375)
	at org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:122)
	at org.hibernate.collection.PersistentBag.size(PersistentBag.java:248)
	at cn.com.sinosoft.iecs.online.sale.service.impl.StaffWelfareSaleServiceImpl.getStaffWelfareInfo(StaffWelfareSaleServiceImpl.java:96)
	at cn.com.sinosoft.job.StaffWelfareInsuredJob.doJob(StaffWelfareInsuredJob.java:99)
	at sun.reflect.GeneratedMethodAccessor12895.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)
	at cn.com.sinosoft.springframework.scheduling.quartz.BeanInvokingJobDetailFactoryBean$BeanInvokingJob.execute(BeanInvokingJobDetailFactoryBean.java:486)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:223)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)

加回事務配置後,session再也不是用完就關,問題解決。數據庫

@Transactional(value="transactionManager",isolation=Isolation.READ_UNCOMMITTED)
相關文章
相關標籤/搜索