Currently, all the timestamp generation stuff shows all the signs of evolution over time. We really don’t need @Source, @CurrentTimestamp, @UpdateTimestamp, and @CreationTimestamp, we only have so many different annotations because different people were worried about different specific problems at different times. It’s well past time for a cleanup. I would be perfectly happy to deprecate three of these annotations and leave only @CurrentTimestamp standing, but @UpdateTimestamp and @CreationTimestamp survive because they can be viewed as abbreviations. To make all this work, I needed to make all three of them allow an explicit SourceType, and I needed to fix up the handling of value generation with version properties, which wasn’t quite working perfectly, because the main point of this is to let you write @Version @CurrentTimestamp instead of @Version @Source(DB). |