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]
