-->
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.  [ 2 posts ] 
Author Message
 Post subject: Lazy Initialisation
PostPosted: Wed Jan 30, 2008 11:10 am 
Newbie

Joined: Wed Jan 30, 2008 10:57 am
Posts: 1
Bonjour,
J'ai une erreur en utilisant Hibernate 3.2.5 que je n'ai pas en utilisant Hibernate 2.0.

Erreur :
"failed to lazily initialize a collection of role: bale2_v4.hibernate.dbmap.Feuille_Fct2.emploisSecondairesFeuilleUtilisateur, no session or session was closed"

Fiche de Mapping :
<class table="TBLE_FCT" name="bale2_v4.hibernate.dbmap.Feuille_Fct2">
<id type="long" name="id" column="KINDEX">
<generator class="increment"/>
</id>
<property type="string" column="LIBELLE" name="libelle" length="150"/>
<property type="string" column="PREFIXE" name="prefixe" length="20"/>
<bag order-by="INDEXSOURCE asc" inverse="true" lazy="true" table="TBLE_USER_FCT2" name="emploisSecondairesFeuilleUtilisateur">
<key column="INDEXCIBLE"/>
<many-to-many class="bale2_v4.hibernate.dbmap.FeuilleUtilisateur" column="INDEXSOURCE"/>
</bag>
</class>

<class table="TBLE_UTILISATEUR" name="bale2_v4.hibernate.dbmap.FeuilleUtilisateur">
<id type="long" name="id" column="KINDEX">
<generator class="increment"/>
</id>
<property type="string" column="KNOM" name="knom" length="140"/>
<property type="string" column="KPRENOM" name="kprenom" length="140"/>
<bag lazy="true" table="TBLE_USER_FCT2" name="emploisSecondaires" order-by="ORDRE asc">
<key column="INDEXSOURCE"/>
<many-to-many class="bale2_v4.hibernate.dbmap.Feuille_Fct2" column="INDEXCIBLE"/>
</bag>
</class>

Il y a 2 tables TBLE_UTILISATEUR, TBLE_FCT linked by a many-to-many association (with a TBLE_USER_FCT2 table).


Le code :
// Save the bean
session.saveOrUpdate(bean); -> Le bean est sauvé

// Je recupere l'objet de TBLE_FCT associee
var utilisateur = bean.getEmploiControleur(); -> Ok, je recupere l'objet

// Maintenant, j'essaye de recuperer l'objet TBLE_UTILISATEUR
var emploiSecondaires = utilisateur.getEmploisSecondairesFeuilleUtilisateur(); -> Error.

Dans tout ce code, la session hibernate est ouverte.

Je pense qu'il y a un problème en navigant via les associations utilisant l'attribut inverse="true",
a moins que ca ne soit dans mes fichiers de mapping?

Quelqu'un peut-il m'aider svp???





La pile d'erreur:
failed to lazily initialize a collection of role: bale2_v4.hibernate.dbmap.Feuille_Fct2.emploisSecondairesFeuilleUtilisateur, no session or session was closed

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: bale2_v4.hibernate.dbmap.Feuille_Fct2.emploisSecondairesFeuilleUtilisateur, no session or session was closed

cause: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: bale2_v4.hibernate.dbmap.Feuille_Fct2.emploisSecondairesFeuilleUtilisateur, no session or session was closed

full exception chain stacktrace[hide]

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: bale2_v4.hibernate.dbmap.Feuille_Fct2.emploisSecondairesFeuilleUtilisateur, no session or session was closed
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
at org.hibernate.collection.PersistentBag.toString(PersistentBag.java:483)
at org.mozilla.javascript.NativeJavaObject.getDefaultValue(NativeJavaObject.java:238)
at org.mozilla.javascript.Interpreter.do_add(Interpreter.java:2528)
at org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:603)
at org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:190)
at org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:138)
at org.mozilla.javascript.continuations.InterpretedFunctionImpl.call(InterpretedFunctionImpl.java:121)
at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1244)
at org.mozilla.javascript.ScriptableObject.callMethod(ScriptableObject.java:1591)
at org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpreter.handleContinuation(FOM_JavaScriptInterpreter.java:812)
at org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke(CallFunctionNode.java:123)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:89)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:240)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:180)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:89)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:240)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:180)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:89)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:240)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:180)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at org.apache.cocoon.Cocoon.process(Cocoon.java:606)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at fr.keyword.servlet.filter.HibernateSessionRequestFilter.doFilter(HibernateSessionRequestFilter.java:131)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:534)


Top
 Profile  
 
 Post subject: Re: Lazy Initialisation
PostPosted: Wed Jan 30, 2008 1:36 pm 
Expert
Expert

Joined: Wed Apr 11, 2007 11:39 am
Posts: 735
Location: Montreal, QC
Where is the bean loaded? The lazy initialization occurs because the collection has not been initialized in the scope of the session it was loaded with. And, no it has nothing to do with the inverse attribute. You will have force initialization if a bean is going to leave outside the scope of its loading session.


Farzad-

ps. je suis desole je ne peux pas ecrir francais mais je comprend bien.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 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.