When I use (cache type ="NONE")
in my class during update I am getting
"org.exolab.castor.jdo.ObjectModifiedException: Timestamp mismatched"
exception.
As I went through the mails in the mailing list I have noticed that this
could be
something to do with dirty checking and I ignored them in the mapping file.
But this still did not help.
The following is the code fragment :
.store method simply calls .update
>>> code start
executionContext.getJDOPersistenceFactory().begin();
jdoUsertoUpdate = (JdoUser)
executionContext.getJDOPersistenceFactory().fetch (Constants.jdoUserObjName,
userId);
executionContext.getJDOPersistenceFactory().commit();
if (null == jdoUsertoUpdate) {
resultData.createFailureDocument("NotFound");
resultData.addFailureMessage(Constants.ACT_PARAM_USERID + "="
+
jdoUserCreated.getId());
} else {
System.out.println("UserFound");
if (jdoUserCreated.getLastInfranetUpdDate() >
jdoUsertoUpdate.getLastInfranetUpdDate()) {
jdoUsertoUpdate.setLastInfranetUpdDate(jdoUserCreated.getLastInfranetUpdDate
());
}
else if (jdoUserCreated.getLastVantiveUpdDate() >
jdoUsertoUpdate.getLastVantiveUpdDate()) {
jdoUsertoUpdate.setLastVantiveUpdDate(jdoUserCreated.getLastVantiveUpdDate()
);
}
jdoUsertoUpdate.setLastUpdDate(TimestampHandler.getTimeStampValueOfCurrentTi
me());
executionContext.getJDOPersistenceFactory().begin();
executionContext.getJDOPersistenceFactory().store(jdoUsertoUpdate,
false);
executionContext.getJDOPersistenceFactory().commit();
>>> code end
MAPPING FILE:
<class name="com.wanadoo.crmt.data.JdoUser" identity="id">
<description>User</description>
<map-to table="USER_T" xml="user" />
<cache-type type="none"/>
<field name="id" type="string" >
<sql name="id" type="varchar" />
<bind-xml name="id" node="attribute"/>
</field>
<field name="lastInfranetUpdDate" type="long" >
<sql name="lastInfranetUpdDate" type="integer" dirty="ignore"/>
<bind-xml name="lastInfranetUpdate" node="element"/>
</field>
<field name="creationDate" type="long" >
<sql name="creationDate" type="integer" dirty="ignore"/>
<bind-xml name="creationDate" node="element" />
</field>
<field name="lastUpdDate" type="long" >
<sql name="lastUpdDate" type="integer" dirty="ignore"/>
<bind-xml name="lastUpdDate" node="element" />
</field>
<field name="csrlogin" type="string" >
<sql name="csrlogin" type="varchar" />
<bind-xml name="csrlogin" node="element"/>
</field>
<field name="lastVantiveUpdDate" type="long" >
<sql name="lastVantiveUpdDate" type="integer" dirty="ignore" />
<bind-xml name="lastVantiveUpdate" node="element"/>
</field>
<field name="lastSymposiumUpdDate" type="long" >
<sql name="lastSymposiumUpdDate" type="integer" dirty="ignore"
/>
<bind-xml name="lastSymposiumUpdDate" node="element"/>
</field>
<field name="lastBOUpdDate" type="long" >
<sql name="lastBOUpdDate" type="integer" dirty="ignore" />
<bind-xml name="lastBOUpdDate" node="element"/>
</field>
<!-- mapping to profile -->
<field name="JdoProfile" type="com.wanadoo.crmt.data.JdoProfile"
collection="vector">
<sql name="profileid" many-table="USER_PROFILE_T"
many-key="userid" />
<bind-xml name="JdoProfile" node="element"/>
</field>
<!-- mapping to right -->
<field name="JdoRight" type="com.wanadoo.crmt.data.JdoRight"
collection="vector">
<sql name="rightid" many-table="USER_RIGHT_T"
many-key="userid" />
<bind-xml name="JdoRight" node="element"/>
</field>
</class>
thanks for any help in this,
Emre
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev