Bi-temporal versioning implementation


Where can I find examples of how you have implemented bi-temporal versioning for your domain entities in your source code, is it being handled generically for all entities?


The source code is open so you can see what is going on. The MasterDB project contains the bi-temporal versioning, see AbstractDocumentDbMaster.

Basically, there is a database row for each version of the object. Each row contains 4 instant (timestamps) - start and end instant on the version axis, and start and end instant on the correction axis. These 4 instants are sufficient to implement bi-temporal.