Hi Andrus,

On 04/10/2009, at 12:37 AM, Andrus Adamchik wrote:

I finished this per CAY-1281. Project upgrade is performed on opening it in the Modeler, so migration for the existing callback users is straightforward.

Haven't checked whether that works for ROP. I would appreciate if somebody could help me with that.

I can confirm that this is broken (unless I've missed something obvious) in ROP after updating to 3.0B1

After the update it appears that an entity record is not properly initialised when saving from ROP. i.e., server-side validation is throwing some NPEs and/or thinking that values haven't been set (perhaps a serialisation issue?). However, the validation on the client-side would have caught this as, for the most part, the validation is the same.

I refactored all our current server-side prePersist methods to postAdd and the problem saving from the client continues.

Rolling back the cayenne jar(s) fixes the problem.

Any suggestions?

On Sep 28, 2009, at 9:53 AM, Andrus Adamchik wrote:


On Sep 28, 2009, at 4:08 AM, Lachlan Deck wrote:


So from what I can see the only two changes required were 'postInsert' and adjusting the meaning of prePersist

I also tend to think that less is better. This discussion thread was a nice brainstorming on the callbacks use patterns. So we've played with a few things and now I am fine if we go a full circle to the minimal change suggested earlier, and don't worry about JPA users, extra delete callbacks, or symmetry between callback types (in many respects there's little symmetry if you look at the object lifecycle - http://cayenne.apache.org/doc/persistent-object-lifecycle.html ).

So here is the change I am going to make:

1. Call "prePersist" before commit
2. Introduce "postAdd" instead of current "prePersist".

This change is minimal and is not incompatible with other ideas. Objections?

Andrus

with regards,
--

Lachlan Deck



Reply via email to