Hiller, Frank RD-AS2 wrote:
using p6spy was a good idea.
I tryed the way of using only pb.store(obj) with the following result.
I had a machine with three employees logged on. Now I let a fourth person log 
on to the machine on my test system.
The person was added to the EMPLOYEES table, I can see the insert statement in 
spy.log.

Now I logged off the person. I see the update of the MACHINE table and I see update statements for the three remaining persons. But I do not see a delete statement for the logged off person.

Since you are using the low-level PB API you have to think about "helping" OJB understand your object graphs. If you do like this:


1. load machine M referencing 3 users: M{uA uB uC}
2. create a new user uD and associate with M
3. remove user uD's association with M
4. store M (with auto-delete and RemovalAwareCollection with set of {u})

You could have a problem in how exactly you perform step 2 and/or 3.

In step 1 OJB's cache is set up with (I'm using @x to denote a Java object-reference pointer):
[EMAIL PROTECTED]@2{uA uB uC}


You must perform step 2 so that uD is added to the exact vector [EMAIL PROTECTED], since this one keeps track internally of removed objects to be deleted on store. (In accordance you must also perform step 3 so that you actually remove it from the [EMAIL PROTECTED] and not just break the link from uD->M).

Could you show us a bit of your code? (No need to re-post class descriptors, I have them on file.) It's to set up a testcase trying to reproduce your results if you show some of the implementation details.

Regards,
 Martin

P.S. I might be the wrong person trying to explain this, since it's not really as complicated as it might look like in my text. :)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to