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 :-)
