-->
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: Found shared references to a collection !!!!
PostPosted: Mon Sep 19, 2005 4:44 am 
Newbie

Joined: Tue Sep 13, 2005 9:09 am
Posts: 17
Bonjour,
J'ai ce type d'erreur "Found shared references to a collection" que j'arrive pas à le reproduire facilement : je pense que j'ai un prob avec mes fichiers de mapping et notament ceux avec des clés coposées. Je compte sur votre aide et vos conseils.
Amicalement.


Hibernate version:3

Mapping documents:
<class
name="com.report.persistence.pojos.Docu15"
table="_DOCU15"
>

<id
name="codeExp"
type="java.lang.Integer"
column="CODE_EXP"
>
<generator class="assigned" />
</id>

<property
name="dtEnvoi"
type="java.util.Date"
column="DT_ENVOI"
length="7"
/>
<property
name="qtEnvoi"
type="java.lang.Integer"
column="QT_ENVOI"
length="4"
/>
<property
name="nbColis"
type="java.lang.Integer"
column="NB_COLIS"
length="4"
/>
<property
name="dtRecept"
type="java.util.Date"
column="DT_RECEPT"
length="7"
/>
<property
name="qtRecu"
type="java.lang.Integer"
column="QT_RECU"
length="4"
/>
<property
name="nomDest"
type="java.lang.String"
column="NOM_DEST"
length="60"
/>
<property
name="adresse"
type="java.lang.String"
column="ADRESSE"
length="60"
/>

<!-- Associations -->

<!-- bi-directional one-to-many association to Ref -->
<set
name="Refs"
lazy="true"
inverse="true"
cascade="all"
>
<key>
<column name="CODE_EXP" />
</key>
<one-to-many
class="com.report.persistence.pojos.Ref"
/>
</set>

<!-- bi-directional one-to-many association to Bord -->
<set
name="Bords"
lazy="true"
inverse="true"
cascade="all"
>
<key>
<column name="CODE_EXP" />
</key>
<one-to-many
class="com.report.persistence.pojos.Bord"
/>
</set>

<!-- bi-directional many-to-one association to LbTypeExp -->
<many-to-one
name="lbTypeExp"
class="com.report.persistence.pojos.LbTypeExp"
not-null="true"
>
<column name="CODE_TYPEX" />
</many-to-one>

<!-- bi-directional many-to-one association to LbTransport -->
<many-to-one
name="lbTransport"
class="com.report.persistence.pojos.LbTransport"
not-null="true"
>
<column name="CODE_TRANSP" />
</many-to-one>

</class>

<class
name="com.report.persistence.pojos.Bord"
table="_BORD"
>

<composite-id>
<key-property
name="bord"
column="BORD"
type="java.lang.String"
/>
<key-many-to-one
name="Docu15"
class="com.report.persistence.pojos.Docu15"
column="CODE_EXP"
/>
</composite-id>

</class>

<class
name="com.report.persistence.pojos.Ref"
table="_REF"
>

<composite-id>
<key-property
name="ref"
column="REF"
type="java.lang.String"
/>

<key-many-to-one
name="Docu15"
class="com.report.persistence.pojos.Docu15"
column="CODE_EXP"
/>
</composite-id>

</class>

<class
name="com.report.persistence.pojos.LbTransport"
table="LB_TRANSPORT"
>

<id
name="codeTransp"
type="java.lang.Integer"
column="CODE_TRANSP"
>

<generator class="assigned" />
</id>

<property
name="transport"
type="java.lang.String"
column="TRANSPORT"
not-null="true"
length="30"
/>

<!-- Associations -->

<!-- bi-directional one-to-many association to Docu15 -->
<set
name="Docu15s"
lazy="true"
inverse="true"
cascade="all"
>
<key>
<column name="CODE_TRANSP" />
</key>
<one-to-many
class="com.report.persistence.pojos.Docu15"
/>
</set>

</class>

<class
name="com.report.persistence.pojos.LbTypeExp"
table="LB_TYPE_EXP"
>

<id
name="codeTypex"
type="java.lang.Integer"
column="CODE_TYPEX"
>

<generator class="assigned" />
</id>

<property
name="typeExp"
type="java.lang.String"
column="TYPE_EXP"
not-null="true"
length="50"
/>

<!-- Associations -->

<!-- bi-directional one-to-many association to Docu15 -->
<set
name="Docu15s"
lazy="true"
inverse="true"
cascade="all"
>
<key>
<column name="CODE_TYPEX" />
</key>
<one-to-many
class="com.report.persistence.pojos.Docu15"
/>
</set>

</class>




Code between sessionFactory.openSession() and session.close():


list = myHibernateSession.createCriteria(Docu15.class,"docu15")
.add(Expression.between("dtEnvoi", fDate, lDate))
.createCriteria("docu15.lbTypeExp")
.add(Expression.eq("typeExp", typeExp))
.list();


g implémenté mes fonctions equals et hashCode comme suit :

public class Bord implements Serializable {

/**
*
*/
private static final long serialVersionUID = -3682503328782882534L;


/** identifier field */
private String bord;

/** persistent field */
private Docu15 Docu15;

/** full constructor */
public Bord(String bord, Docu15 Docu15) {
this.bord = bord;
this.Docu15 = Docu15;
}

/** default constructor */
public Bord() {
}

public String getBord() {
return this.bord;
}

public void setBord(String bord) {
this.bord = bord;
}

public Docu15 getDocu15() {
return this.Docu15;
}

public void setDocu15(Docu15 Docu15) {
this.Docu15 = Docu15;
}

public String toString() {
return new ToStringBuilder(this)
.append("bord", getBord())
.append("Docu15", getDocu15().getCodeExp())
.toString();
}

public boolean equals(Object other)
{
if (other == null)
return false;
if (! (other instanceof Bord))
return false;
Bord that = (Bord) other;
if (this.getDocu15() != null && that.getDocu15() != null)
{
if (! this.getDocu15().equals(that.getDocu15()))
{
return false;
}
}
if (this.getBord() != null && that.getBord() != null)
{
if (! this.getBord().equals(that.getBord()))
{
return false;
}
}
return true;
}

public int hashCode() {
return new HashCodeBuilder().append(getBord())
.append(getDocu15().hashCode())
.toHashCode();
}




Full stack trace of any exception that occurs:

com.commons.exceptions.PersistenceManagerException: org.hibernate.HibernateException: Found shared references to a collection
at com.report.persistence.managers.Docu15PersistenceManagerImpl.findByDtEnvoiAndTypeExp(Docu15PersistenceManagerImpl.java:72)
at com.report.web.businessLayer.EnvoiCODRBL.getCouponsODRByMonth(EnvoiCODRBL.java:134)
at com.report.web.actions.EnvoiCODRAction.execute(EnvoiCODRAction.java:59)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.commons.filter.HibernateFilter.doFilter(HibernateFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.HibernateException: Found shared references to a collection
at org.hibernate.engine.Collections.processReachableCollection(Collections.java:130)
at org.hibernate.event.def.FlushVisitor.processCollection(FlushVisitor.java:37)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:104)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:64)
at org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:58)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:198)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:190)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:70)
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:39)
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:711)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1315)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:300)
at org.hibernate.impl.CriteriaImpl$Subcriteria.list(CriteriaImpl.java:142)
at




Top
 Profile  
 
 Post subject:
PostPosted: Mon Sep 19, 2005 5:17 am 
Newbie

Joined: Tue Sep 13, 2005 9:09 am
Posts: 17
G également ce type d'erreur : le problème c que ces erreurs ne se reproduisent pas à tout les coups : je suppose que si j'améliore mes fichiers de mappings ça peut aller mieux.


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.PersistentSet.isEmpty(PersistentSet.java:118)
at com.report.web.businessLayer.RetourCofrTermBL.getRetourCofrTermByMonth(RetourCofrTermBL.java:170)
at com.report.web.actions.RetourCofrTermAction.execute(RetourCofrTermAction.java:57)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.commons.filter.HibernateFilter.doFilter(HibernateFilter.java:118)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
2005-09-19 11:12:24,656 [http-8080-Processor24] ERROR com.report.web.businessLayer.RetourCofrTermBL - La recherche dans getRetourCofrTermByMonth des Docu15 pour le mois de 0905 a echoué
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.PersistentSet.isEmpty(PersistentSet.java:118)
at com.report.web.businessLayer.RetourCofrTermBL.getRetourCofrTermByMonth(RetourCofrTermBL.java:170)
at com.report.web.actions.RetourCofrTermAction.execute(RetourCofrTermAction.java:57)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.commons.filter.HibernateFilter.doFilter(HibernateFilter.java:118)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)


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.