Marco,
this is expected behaviour, indeed. To be able to delete an object instance, you have
to load the object in the very same transaction. Iow, please query
the object again before deleting it if you really cannot change your business delegate
to handle transactions in a different way.
I know that you are going to be bothered about the performance hit introduced by this
second query, but maybe you are in a position to use a performance
cache for your objects, and hence reduce the impact of this penalty.
Regards
Werner
--Original Message Text---
From: marco mistroni
Date: Sat, 31 Jan 2004 19:39:54 -0000
hi all,
i am using Castor JDO (version 0.9.5.2) and i have written a class (named
CastorEntry)
which implements the interface Persistent and TimeStampable.
as part of my junit test, i am creating an object, then i am querying the database to
see if the#
object is there, and if it is there i delete it.
the three operations are done in different transaction (because i am doing thru
different operations in a BusinessDelegate),
so, i have no problem in creating, no problem querying but when i try to delete the
object found from the query i get this
exception
org.exolab.castor.jdo.ObjectNotPersistentException: The object of type com.myapp
.castor.CastorEntry is not persistent -- it was not queried or created within th
is transaction
the table entries (associated with the object CastorEntry) has no timestamp column.. i
tried to add a colum called timestamp, but
since i am using mysql there is no 'long' type, so only choice was to add a colum of
type timestamp..
but when i define the mapping, the long to timestamp is not accepted..
can anyone help me in solving my problem?
with best regards
marco
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev