Hi Don,

The merge operation takes as a parameter a detached instance, not a new instance.

TopLink Essentials might not be able to tell the difference between a detached and a new instance. So it might work in that environment.

But the behavior you're describing is not portable.

Is there a way to detach an instance with the identity you want to merge, and update that instance? Then you would have a portable application.

Craig

On Nov 7, 2006, at 4:55 PM, DonBrady wrote:


Surely.


(1) We do a find method which returns an entity A from the database.

(2) We also have an unmanaged entity instance B separately, that we created outside any persistence context, whose values we wish to use to update those
in A, and then rewrite A to the database.

(3) We just set the key of B to that of A (namely "48") and do a "merge."
This worked to update A in TopLink Essentials.

(4) Under OpenJPA, we get the exact error message:

An object of type "com.xxx.entity.entities.FeCmeCommittee" with oid
"48"
already exists in this context; another cannot be persisted.


(5) This seems wrong.  The reason the two objects have the same id is
precisely that we want to update the existing entity.


THANK YOU.

Don



Craig L Russell wrote:

Hi Don,

Could you please be just a bit more specific about what you are
trying to do and what error you encounter?

Thanks,

Craig

On Nov 7, 2006, at 2:50 PM, DonBrady wrote:


We are converting a TopLink Essentials application to OpenJPA

Under Toplink Essentials, we could replace a managed entity with
another
that had the same identity (key) by doing a merge.

When we try this in OpenJPA, we get the following error:

An object of type "com.xxx.entity.entities.FeCmeCommittee" with oid
"48"
already exists in this context; another cannot be persisted.

However, "48" is actually the identity or key, not the oid.  The
oid's are
different.     They key is the same and therefore it should be
possible to
replace it via a merge.

Or am I missing something?

Thanks,

Don


--
View this message in context: http://www.nabble.com/Replacing-
Entities-while-Managed-tf2592059.html#a7229110
Sent from the open-jpa-dev mailing list archive at Nabble.com.


Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/ jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!





--
View this message in context: http://www.nabble.com/Replacing- Entities-while-Managed-tf2592059.html#a7230848
Sent from the open-jpa-dev mailing list archive at Nabble.com.


Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to