Hello Craig,

thank you very much for your quick reply! I'm really happy that you
agree :-)

There's only one thing that just popped into my mind:
> * Whenever a living object (which is currently attached to a
>   datastore) is modified for the first time within a transaction.
>   There's no need to modify the version multiple times within one
>   transaction.
>
> > This makes sense. I don't know of a case where you would want to
> change the version number more than once.
http://www.jpox.org/docs/1_1/metadata_reference.html#version describes
that there is one versioning strategy which would require a different
behaviour: state-image (not yet supported by jpox).

In this case, multiple modifications of the object would result in
different state images. Therefore, this would be the only versioning
strategy, which might require multiple calculations of the version
within one transaction. IMHO this is not a problem, though, because the
version could be calculated lazily (and thus not be calculated before
the end of a transaction, if no call to JDOHelper.getVersion(...)
occurs) and of course other optimizations might be used as well (e.g.
caching the hashes of the fields, so that only those fields require
recalculation that really changed).

Best regards, Marco :-)

Reply via email to