Erreur hibernate Illegal attempt to associate a collection with two open sessions
Bonjour
Voilà je fait une application JSP avec une base de données Oracle.
J'utilise hibernate dans cette application. Seulement parfois j'ai cette erreur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| GRAVE: "Servlet.service()" pour la servlet Faces Servlet a généré une exception
org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
at org.hibernate.collection.AbstractPersistentCollection.setCurrentSession(AbstractPersistentCollection.java:432)
at org.hibernate.event.def.OnUpdateVisitor.processCollection(OnUpdateVisitor.java:66)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:124)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:84)
at org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:78)
at org.hibernate.event.def.AbstractVisitor.process(AbstractVisitor.java:146)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performUpdate(DefaultSaveOrUpdateEventListener.java:316)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:246)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:112)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:534)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:241)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:291)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:239)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:319)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:265)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:242)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:192)
at org.hibernate.engine.Cascade.cascade(Cascade.java:153)
at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:154)
at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:145)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:88)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:58)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:996)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1141)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:835)
at CSCI_TRANSVERSAL.CSC_HIBERNATE.DAO.UtilisateurDAO.connexion(UtilisateurDAO.java:28)
at util.connexion.ConnexionBean.connexion(ConnexionBean.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:387)
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source) |
Confighibernate :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Connexion -->
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@srvdoors:1521:DEVEL</property>
<property name="hibernate.connection.username">thot</property>
<property name="hibernate.connection.password">bonjour29</property>
<property name="hibernate.generate_statistics">false</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.jdbc.batch_size">20</property>
<property name="hibernate.max_fetch_depth">3</property>
<!-- dialect for Oracle (any version) -->
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="hibernate.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="hibernate.current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property>
<!-- List of XML mapping files -->
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Affaire.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Avancer.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Besoin.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Cde.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Coefappro.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Commenter.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Consulter.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Contrat.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Coutcible.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Critere.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Da.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Dpi.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Echellenote.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Entite.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Etatbesoin.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Fichier.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Fournisseur.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Grouputilisateur.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Jalonpaiment.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Livre.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Noter.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Os.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Pressentir.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Projet.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Prtc.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Qualimetrie.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Sow.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/T.hbm.xml" />
<mapping resource="CSCI_TRANSVERSAL/CSC_HIBERNATE/Utilisateur.hbm.xml" />
</session-factory>
</hibernate-configuration> |
Je comprends ce que cela veux dire mais je n'ai pas la moindre idée de comment la résoudre. Pourrais vous m'aidez s'il vous plaît merci beaucoup.