Here are [some] details concerning the exception that I am getting...
Any insight into...or pointers to more documentation on the message?
Thanks in advance
Environment
JDK 1.4 Hibernate 2.1 MYSQL 4.1
TABLE(s) Followed by mapping(s)
CREATE TABLE `tcampaign` (
`UID_PK` int(11) NOT NULL auto_increment,
`name` varchar(100) default NULL,
`description` varchar(200) default NULL,
PRIMARY KEY (`UID_PK`)
)
<class
name="com.elasticpath.commons.datatransfer.CampaignDTO"
table="tcampaign"
lazy="false"
>
<id
name="uidPk"
type="java.lang.Integer"
column="UID_PK"
>
<generator class="native">
<param name="sequence"></param>
</generator>
</id>
<property
name="name"
type="java.lang.String"
column="name"
length="100"
/>
<property
name="description"
type="java.lang.String"
column="description"
length="200"
/>
<!-- Associations -->
<set
name="customerCampaigns"
lazy="true"
inverse="true"
cascade="all"
>
<key>
<column name="campaignUID" />
</key>
<one-to-many
class="com.elasticpath.commons.datatransfer.CustomerCampaignDTO"
/>
</set>
<!-- bi-directional one-to-many association to Tposedcampaign -->
<set
name="posedCampaigns"
lazy="false"
inverse="true"
cascade="all"
order-by="UID_PK ASC"
>
<key>
<column name="campaignUID" />
</key>
<one-to-many
class="com.elasticpath.commons.datatransfer.PosedCampaignDTO"
/>
</set>
</class>
CREATE TABLE `tposedcampaign` (
`UID_PK` int(11) NOT NULL auto_increment,
`posedQuestionUID` int(11) NOT NULL default '0',
`campaignUID` int(11) NOT NULL default '0',
PRIMARY KEY (`UID_PK`),
KEY `posedQuestionUID` (`posedQuestionUID`),
KEY `campaignUID` (`campaignUID`),
CONSTRAINT `FKCAMPOS` FOREIGN KEY (`campaignUID`) REFERENCES `tcampaign` (`UID_PK`),
CONSTRAINT `FKPOSCAM` FOREIGN KEY (`posedQuestionUID`) REFERENCES `tposedquestion` (`UID_PK`)
)
<class
name="com.elasticpath.commons.datatransfer.PosedCampaignDTO"
table="tposedcampaign"
lazy="false"
>
<id
name="uidPk"
type="java.lang.Integer"
column="UID_PK"
>
<generator class="native">
<param name="sequence"></param>
</generator>
</id>
<!-- Associations -->
<!-- bi-directional many-to-one association to Tcampaign -->
<many-to-one
name="campaign"
class="com.elasticpath.commons.datatransfer.CampaignDTO"
not-null="true"
>
<column name="campaignUID" />
</many-to-one>
<!-- uni-directional many-to-one association to Tposedquestion -->
<many-to-one
name="posedQuestion"
class="com.elasticpath.commons.datatransfer.PosedQuestionDTO"
>
<column name="posedQuestionUID" />
</many-to-one>
</class>
CREATE TABLE `tposedquestion` (
`UID_PK` int(11) NOT NULL auto_increment,
`name` varchar(100) default NULL,
`question` varchar(200) default NULL,
`description` varchar(200) default NULL,
PRIMARY KEY (`UID_PK`)
)
<class
name="com.elasticpath.commons.datatransfer.PosedQuestionDTO"
table="tposedquestion"
lazy="false"
>
<id
name="uidPk"
type="java.lang.Integer"
column="UID_PK"
>
<generator class="native">
<param name="sequence"></param>
</generator>
</id>
<property
name="name"
type="java.lang.String"
column="name"
length="100"
/>
<property
name="question"
type="java.lang.String"
column="question"
length="200"
/>
<property
name="description"
type="java.lang.String"
column="description"
length="200"
/>
<!-- Associations -->
<!-- bi-directional one-to-many association to Tposedformat -->
<set
name="posedFormats"
lazy="false"
inverse="true"
cascade="all"
order-by="UID_PK ASC"
>
<key>
<column name="posedQuestionUID" />
</key>
<one-to-many
class="com.elasticpath.commons.datatransfer.PosedFormatDTO"
/>
</set>
<!-- bi-directional one-to-many association to Tanswer -->
<set
name="answers"
lazy="true"
inverse="true"
cascade="all"
>
<key>
<column name="posedQuestionUID" />
</key>
<one-to-many
class="com.elasticpath.commons.datatransfer.AnswerDTO"
/>
</set>
CODE TO save Campaign ...Followed by save of PosedCampaign
try{
campaignDAO.add(campaignDTO);
TransactionBO.commitTransaction();
alldone=true;
}
finally {
if (!alldone) {
TransactionBO.rollbackTransaction();
}
}
TransactionBO.beginTransaction();
alldone=false;
try{
posedCampaignDTO = new PosedCampaignDTO();
posedCampaignDTO.setPosedQuestion(posedQuestionDTO);
posedCampaignDTO.setCampaign(campaignDTO);
posedCampaignDAO.add(posedCampaignDTO);
}
TransactionBO.commitTransaction();
alldone=true;
}
finally {
if (!alldone) {
TransactionBO.rollbackTransaction();
}
}
ERROR: Found shared references to a collection:
20847922 [http-8080-Processor25] ERROR manager.error - Exception Caught.
com.elasticpath.commons.exception.EPSystemException: net.sf.hibernate.HibernateException: Found shared references to a collection: com.elasticpath.commons.datatransfer.CampaignDTO.posedCampaigns
at com.elasticpath.dataaccess.hibernate.PosedCampaignDAO.add(PosedCampaignDAO.java:61)
at org.apache.jsp.manager.campaign1_jsp._jspService(campaign1_jsp.java:720)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
|