BTW, I just hit a situation myself, where I must have pre-persist
called before commit, not in newObject... I guess this is where
Cayenne is different from Hibernate/JPA - you register an object
first, then you change it. Not sure how we go about it yet, but now I
have a full realization of the problem.
Andrus
On Mar 6, 2009, at 6:13 PM, Andrey Razumovsky wrote:
Hi,
currently we have prePersist and postPersist callbacks, which are
fired for
new objects. But the problem is that 'prePersist' callback is called
only
when context.newObject() is invoked and the data object has no
properties.
So, since 'preUpdate'is only invoked at modified objects, there's no
callback *just before* commit. the only way for me to intercept new
objects
is in "validateForInsert", but this is certainly ugly. Or maybe I'm
just
missing something?
I suggest that at the minimum we add a new callback ("preInsert").
to keep API understandable I find it reasonable to deprecate
postPersist
and rename it to postInsert.
Thanks,
Andrey