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

Reply via email to