These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 posts ] 
Author Message
 Post subject: illegal access to loading collection
PostPosted: Fri Jun 03, 2005 9:36 am 
Newbie

Joined: Fri Jun 03, 2005 8:54 am
Posts: 2
[b]Hibernate version:3.0.5 [/b]
I get the following exception, when I access by an extention of a DefaultPostLoadEventListener to a collection loaded from a DB2 Database.

I have set all lazy-flags to false. But there are more than 1 collection in the persitent-class, so the lazy-flags probably don't work for all colletions.

If I don't use the DefaultPostLoadEventListener and perform the action of this Listener after load the Object from the Database (session.get(..)), it works fine. Therefore I think, I access the collection before it is loaded.

Has anybody an idea ?? What can I do to access later to the collection ??


[b]Full stack trace of any exception that occurs:[/b]
14:25:58,765 ERROR LazyInitializationException:19 - illegal access to loading collection
org.hibernate.LazyInitializationException: illegal access to loading collection
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:172)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:48)
at org.hibernate.collection.PersistentMap.keySet(PersistentMap.java:165)
at de.vb.schaden.data.access.tfodb.basis.VBPoolObjectID.transMapKeyToSuperclass(VBPoolObjectID.java:125)
at de.vb.schaden.data.access.tfodb.basis.HandleDBAccessVBPoolObjectID.handleDBAcceess(HandleDBAccessVBPoolObjectID.java:26)
at de.vb.schaden.data.access.tfodb.basis.VBPoolObjIDPostLoadListener.onPostLoad(VBPoolObjIDPostLoadListener.java:22)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:164)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:530)
at org.hibernate.loader.Loader.doQuery(Loader.java:436)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1345)
at org.hibernate.loader.entity.EntityLoader.load(EntityLoader.java:116)
at org.hibernate.loader.entity.EntityLoader.load(EntityLoader.java:101)
at org.hibernate.persister.entity.BasicEntityPersister.load(BasicEntityPersister.java:2471)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:351)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:332)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:113)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:167)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:79)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:621)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:614)
at de.vb.schaden.data.access.tfodb.test.HibernateTestPartnerTOAdressenTO.main(HibernateTestPartnerTOAdressenTO.java:88)


Top
 Profile  
 
 Post subject: Re: illegal access to loading collection
PostPosted: Wed Jun 22, 2005 8:20 am 
Newbie

Joined: Fri Jun 03, 2005 8:54 am
Posts: 2
Since I changed fetch="join" to fetch="select" it works very good.

I don't understand why, but it works. So if someone has an idea I am still interested.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jun 22, 2005 1:36 pm 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 12:50 pm
Posts: 5130
Location: Melbourne, Australia
You are not allowed to invoke the collection from the postload callback.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Nov 20, 2006 1:59 am 
Newbie

Joined: Mon May 22, 2006 9:27 am
Posts: 3
Location: Nigeria
I'm having a similar problem. What do you mean by postload callback? Will eager loading of the collection solve the problem?

org.hibernate.LazyInitializationException: illegal access to loading collection

Stack Trace:
org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:172)
org.hibernate.collection.AbstractPersistentCollection.write(AbstractPersistentCollection.java:61)
org.hibernate.collection.PersistentBag.add(PersistentBag.java:267)
com.dudu.firstCustodian.tapestry.PfaEmployerRegistration.register(PfaEmployerRegistration.java:193)
com.dudu.firstCustodian.tapestry.PfaEmployerRegistration.completeRegistration(PfaEmployerRegistration.java:149)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(ListenerMethodInvokerImpl.java:214)
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:155)
org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:124)
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:69)
org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:51)
org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(ListenerMethodBinding.java:77)
org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(ListenerInvokerTerminator.java:51)
$ListenerInvoker_10f02627e95.invokeListener($ListenerInvoker_10f02627e95.java)
org.apache.tapestry.form.AbstractSubmit.handleClick(AbstractSubmit.java:81)
org.apache.tapestry.form.AbstractSubmit.rewindFormComponent(AbstractSubmit.java:49)
org.apache.tapestry.form.AbstractFormComponent.renderComponent(AbstractFormComponent.java:114)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:434)
org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:573)
org.apache.tapestry.form.Form.renderComponent(Form.java:226)
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:617)
org.apache.tapestry.form.Form.rewind(Form.java:327)
org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:439)
org.apache.tapestry.form.Form.trigger(Form.java:338)
org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:146)
org.apache.tapestry.engine.DirectService.service(DirectService.java:132)
$IEngineService_10f02627eee.service($IEngineService_10f02627eee.java)
org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
$WebRequestServicer_10f02627ec9.service($WebRequestServicer_10f02627ec9.java)
org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:48)
$WebRequestServicerFilter_10f02627ecb.service($WebRequestServicerFilter_10f02627ecb.java)
$WebRequestServicer_10f02627ecd.service($WebRequestServicer_10f02627ecd.java)
$WebRequestServicer_10f02627ec5.service($WebRequestServicer_10f02627ec5.java)
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
$ServletRequestServicer_10f02627eab.service($ServletRequestServicer_10f02627eab.java)
org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
$ServletRequestServicerFilter_10f02627ea7.service($ServletRequestServicerFilter_10f02627ea7.java)
$ServletRequestServicer_10f02627ead.service($ServletRequestServicer_10f02627ead.java)
org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
$ServletRequestServicerFilter_10f02627ea5.service($ServletRequestServicerFilter_10f02627ea5.java)
$ServletRequestServicer_10f02627ead.service($ServletRequestServicer_10f02627ead.java)
org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
$ServletRequestServicerFilter_10f02627ea9.service($ServletRequestServicerFilter_10f02627ea9.java)
$ServletRequestServicer_10f02627ead.service($ServletRequestServicer_10f02627ead.java)
$ServletRequestServicer_10f02627e9f.service($ServletRequestServicer_10f02627e9f.java)
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:168)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:595)


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jun 17, 2007 9:44 am 
Newbie

Joined: Sun Jun 17, 2007 7:04 am
Posts: 11
Hi there,
so PostLoad method convertPhotos in example http://java.boot.by/scbcd5-guide/ch06s04.html will not work in Hibernate because it is invoked in the PostLoad callback method?


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.